Function at 0x435cb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x298
mov dword [esp + 0x118], ecx
mov esi, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov eax, dword [edx + 0x11c]
cmp dword [edx + 0x8c], 0x80000000
mov edi, 0x80000000
mov dword [esp], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ecx
mov esi, dword [edx + 0x128]
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], ecx
jne 0x435d29
mov dword [esp + 0x88], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0x98], 0x80000000
jne 0x435d88
jmp 0x435dd1
mov eax, dword [esp]
mov ebx, dword [eax + 0x94]
mov esi, dword [eax + 0x90]
test ebx, ebx
je 0x435d5b
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x435d60
jmp 0x4360dc
mov eax, 1
mov dword [esp + 0x88], ebx
push ebx
push esi
mov dword [esp + 0xd4], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0x98], 0x80000000
je 0x435d24
mov eax, dword [esp]
mov edi, dword [eax + 0xa0]
mov esi, dword [eax + 0x9c]
test edi, edi
je 0x435dba
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x435dbf
jmp 0x43645b
mov eax, 1
push edi
push esi
mov dword [esp + 0xd0], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp]
mov edx, dword [ecx + 0x130]
mov esi, dword [ecx + 0x134]
mov eax, dword [ecx + 0x12c]
cmp dword [ecx + 0xa4], 0x80000000
mov dword [esp + 0x108], edx
mov edx, dword [ecx + 0x138]
mov dword [esp + 0x104], esi
mov esi, dword [ecx + 0x13c]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x100], edx
mov edx, dword [ecx + 0x140]
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], edx
jne 0x435ecc
mov dword [esp + 0x84], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0xb0], 0x80000000
jne 0x435f2f
mov dword [esp + 0x80], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0xbc], 0x80000000
jne 0x435f92
mov dword [esp + 0x7c], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0xc8], 0x80000000
jne 0x435ff2
mov dword [esp + 0x78], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0xd4], 0x80000000
jne 0x436052
mov dword [esp + 0x74], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0xe0], 0x80000000
jne 0x4360af
mov dword [esp + 0x70], 0x80000000
jmp 0x436103
mov eax, dword [esp]
mov ebx, dword [eax + 0xac]
mov esi, dword [eax + 0xa8]
test ebx, ebx
je 0x435efe
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x435f03
jmp 0x4360dc
mov eax, 1
mov dword [esp + 0x84], ebx
push ebx
push esi
mov dword [esp + 0xcc], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0xb0], 0x80000000
je 0x435e50
mov eax, dword [esp]
mov ebx, dword [eax + 0xb8]
mov esi, dword [eax + 0xb4]
test ebx, ebx
je 0x435f61
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x435f66
jmp 0x4360dc
mov eax, 1
mov dword [esp + 0x80], ebx
push ebx
push esi
mov dword [esp + 0xc8], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0xbc], 0x80000000
je 0x435e6e
mov eax, dword [esp]
mov ebx, dword [eax + 0xc4]
mov esi, dword [eax + 0xc0]
test ebx, ebx
je 0x435fc4
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x435fc9
jmp 0x4360dc
mov eax, 1
mov dword [esp + 0x7c], ebx
push ebx
push esi
mov dword [esp + 0xc4], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0xc8], 0x80000000
je 0x435e89
mov eax, dword [esp]
mov ebx, dword [eax + 0xd0]
mov esi, dword [eax + 0xcc]
test ebx, ebx
je 0x436024
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x436029
jmp 0x4360dc
mov eax, 1
mov dword [esp + 0x78], ebx
push ebx
push esi
mov dword [esp + 0xc0], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0xd4], 0x80000000
je 0x435ea4
mov eax, dword [esp]
mov ebx, dword [eax + 0xdc]
mov esi, dword [eax + 0xd8]
test ebx, ebx
je 0x436081
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x436086
jmp 0x4360dc
mov eax, 1
mov dword [esp + 0x74], ebx
push ebx
push esi
mov dword [esp + 0xbc], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0xe0], 0x80000000
je 0x435ebf
mov eax, dword [esp]
mov ebx, dword [eax + 0xe8]
mov esi, dword [eax + 0xe4]
test ebx, ebx
je 0x4360e8
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x4360ed
mov ecx, 1
mov edx, ebx
call fcn.007c1490
mov eax, 1
mov dword [esp + 0x70], ebx
push ebx
push esi
mov dword [esp + 0xb8], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
mov dword [esp + 0x54], 4
mov dword [esp + 0x2c], edi
mov eax, dword [eax + 0x28]
test eax, eax
mov dword [esp + 0x94], eax
je 0x43619f
cmp eax, 0xaaaaaaa
ja 0x436f7e
lea eax, [eax*4]
lea edi, [eax + eax*2]
test edi, edi
js 0x436f7e
mov eax, dword [esp]
xor ecx, ecx
mov edx, edi
xor ebx, ebx
mov esi, dword [eax + 0x24]
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x54], eax
je 0x436f83
mov eax, dword [esp + 0x94]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], edi
cmp edi, ebx
je 0x43619f
movzx ecx, byte [esi + 8]
mov edi, dword [esi]
mov edx, dword [esi + 4]
add esi, 0xc
dec eax
mov byte [esp + 4], cl
mov dword [ebp + ebx], edi
mov edi, dword [esp + 0xc]
mov dword [ebp + ebx + 4], edx
movzx ecx, byte [esp + 4]
mov byte [ebp + ebx + 8], cl
lea ebx, [ebx + 0xc]
jne 0x436170
mov ecx, dword [esp]
mov esi, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
mov dword [esp + 0xf4], ecx
je 0x4361e7
cmp ecx, 0xfffffff
ja 0x436f7e
lea edi, [ecx*8]
test edi, edi
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x4361ee
jmp 0x436f83
xor edi, edi
mov eax, 4
push edi
push esi
mov dword [esp + 0xf8], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax + 0x40]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4362e1
cmp eax, 0xaaaaaaa
ja 0x436f7e
lea eax, [eax*4]
lea edi, [eax + eax*2]
test edi, edi
js 0x436f7e
mov eax, dword [esp]
xor ecx, ecx
mov edx, edi
xor ebx, ebx
mov esi, dword [eax + 0x3c]
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x40], eax
je 0x436f83
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0xc], edi
nop
cmp edi, ebx
je 0x43628f
movzx ecx, byte [esi + 8]
mov edi, dword [esi]
mov edx, dword [esi + 4]
add esi, 0xc
dec eax
mov byte [esp + 4], cl
mov dword [ebp + ebx], edi
mov edi, dword [esp + 0xc]
mov dword [ebp + ebx + 4], edx
movzx ecx, byte [esp + 4]
mov byte [ebp + ebx + 8], cl
lea ebx, [ebx + 0xc]
jne 0x436260
mov eax, dword [esp]
cmp dword [eax + 0xec], 0x80000000
jne 0x4362f8
mov dword [esp + 0x6c], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0xf8], 0x80000000
jne 0x436358
mov dword [esp + 0x68], 0x80000000
mov eax, dword [esp]
cmp dword [eax + 0x104], 0x80000000
jne 0x4363b8
mov dword [esp + 0x64], 0x80000000
jmp 0x436402
mov dword [esp + 0x40], 4
mov eax, dword [esp]
cmp dword [eax + 0xec], 0x80000000
je 0x43629e
mov eax, dword [esp]
mov edi, dword [eax + 0xf4]
mov esi, dword [eax + 0xf0]
test edi, edi
je 0x43632a
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x43632f
jmp 0x43645b
mov eax, 1
mov dword [esp + 0x6c], edi
push edi
push esi
mov dword [esp + 0xb4], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0xf8], 0x80000000
je 0x4362b9
mov eax, dword [esp]
mov edi, dword [eax + 0x100]
mov esi, dword [eax + 0xfc]
test edi, edi
je 0x43638a
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x43638f
jmp 0x43645b
mov eax, 1
mov dword [esp + 0x68], edi
push edi
push esi
mov dword [esp + 0xb0], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0x104], 0x80000000
je 0x4362d4
mov eax, dword [esp]
mov edi, dword [eax + 0x10c]
mov esi, dword [eax + 0x108]
test edi, edi
je 0x4363e7
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x4363ec
jmp 0x43645b
mov eax, 1
mov dword [esp + 0x64], edi
push edi
push esi
mov dword [esp + 0xac], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp dword [ecx + 0x110], 0x80000000
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], edx
jne 0x43642e
mov dword [esp + 0x60], 0x80000000
jmp 0x436482
mov eax, dword [esp]
mov edi, dword [eax + 0x118]
mov esi, dword [eax + 0x114]
test edi, edi
je 0x436467
js 0x436f7e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x43646c
mov ecx, 1
mov edx, edi
call fcn.007c1490
mov eax, 1
mov dword [esp + 0x60], edi
push edi
push esi
mov dword [esp + 0xa8], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
mov dword [esp + 0x4c], 4
mov dword [esp + 0x50], 4
movsd xmm0, qword [eax + 0x144]
mov eax, dword [eax + 0x4c]
test eax, eax
movups xmmword [esp + 0x11c], xmm0
mov dword [esp + 0x90], eax
je 0x43653d
cmp eax, 0x6a63bd
ja 0x436f7e
imul ebp, eax, 0x134
test ebp, ebp
js 0x436f7e
mov eax, dword [esp]
xor ecx, ecx
mov edx, ebp
xor edi, edi
mov eax, dword [eax + 0x48]
mov dword [esp + 4], eax
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x50], eax
je 0x436f8f
mov esi, dword [esp + 0x90]
nop
cmp ebp, edi
je 0x43653d
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
lea ebx, [ecx + edi]
lea edx, [eax + edi]
lea ecx, [esp + 0x12c]
call fcn.0043d170
push 0x134
lea eax, [esp + 0x130]
push eax
push ebx
call fcn.007bd9b0
add esp, 0xc
add edi, 0x134
dec esi
jne 0x436500
mov eax, dword [esp]
mov esi, dword [eax + 0x58]
test esi, esi
mov dword [esp + 0x8c], esi
je 0x4365ee
cmp esi, 0x7ffffff
ja 0x436f7e
shl esi, 4
js 0x436f7e
mov eax, dword [esp]
xor ecx, ecx
mov edx, esi
xor edi, edi
mov ebx, dword [eax + 0x54]
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x4c], eax
je 0x436f9b
mov eax, dword [esp + 0x8c]
mov ecx, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
jmp 0x4365d1
mov ebp, dword [ebx + edi + 4]
mov ebx, dword [esp + 0x4c]
mov esi, dword [ecx + 0xc]
dec eax
add ecx, 0x10
mov dword [ebx + edi], edx
mov dword [ebx + edi + 4], ebp
mov ebp, dword [esp + 4]
mov dword [ebx + edi + 8], ebp
mov dword [ebx + edi + 0xc], esi
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
add edi, 0x10
test eax, eax
je 0x4365ee
cmp esi, edi
je 0x4365ee
mov edx, dword [ecx]
test edx, edx
je 0x4365a0
cmp edx, 1
jne 0x4365a0
mov esi, dword [ebx + edi + 8]
mov ebp, dword [ebx + edi + 4]
mov dword [esp + 4], esi
jmp 0x4365a4
mov eax, dword [esp]
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], 4
mov esi, dword [eax + 0x64]
test esi, esi
mov dword [esp + 0xe4], esi
je 0x43669d
cmp esi, 0x5a05a0
ja 0x436f7e
imul ebp, esi, 0x16c
test ebp, ebp
js 0x436f7e
mov eax, dword [esp]
xor ecx, ecx
mov edx, ebp
xor edi, edi
mov eax, dword [eax + 0x60]
mov dword [esp + 4], eax
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x48], eax
je 0x436f8f
nop word cs:[eax + eax]
nop
cmp ebp, edi
je 0x43669d
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
lea ebx, [ecx + edi]
lea edx, [eax + edi]
lea ecx, [esp + 0x12c]
call fcn.00435cb0
push 0x16c
lea eax, [esp + 0x130]
push eax
push ebx
call fcn.007bd9b0
add esp, 0xc
add edi, 0x16c
dec esi
jne 0x436660
mov eax, dword [esp]
mov esi, dword [eax + 0x70]
test esi, esi
mov dword [esp + 0xe0], esi
je 0x436a84
cmp esi, 0x2aaaaaa
ja 0x436f7e
mov eax, esi
shl eax, 4
lea ebx, [eax + eax*2]
test ebx, ebx
js 0x436f7e
mov eax, dword [esp]
xor ecx, ecx
mov edx, ebx
mov edi, dword [eax + 0x6c]
movzx eax, byte [0x94bfc5]
mov dword [esp + 0x24], 0
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x44], eax
je 0x436fa7
lea eax, [esi + esi*2]
mov dword [esp + 0x20], esi
mov esi, edi
shl eax, 4
add eax, edi
mov dword [esp + 0x3c], eax
jmp 0x436782
mov eax, 4
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0xc]
movzx edx, byte [esi + 0x2d]
mov dh, byte [esp + 0xb]
add esi, 0x30
lea ecx, [edi + edi*2]
inc edi
shl ecx, 4
mov dword [esp + 0x24], edi
add ecx, dword [esp + 0x44]
mov dword [ecx], ebx
mov dword [ecx + 4], ebp
mov dword [ecx + 8], ebx
mov ebp, dword [esp + 4]
mov ebx, dword [esp + 0x28]
mov dword [ecx + 0xc], ebp
mov dword [ecx + 0x10], ebx
mov ebx, dword [esp + 0x18]
mov dword [ecx + 0x14], ebp
mov ebp, dword [esp + 0x5c]
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], ebx
mov ebx, dword [esp + 0x58]
mov dword [ecx + 0x24], ebp
mov dword [ecx + 0x28], ebx
mov byte [ecx + 0x2c], dh
mov byte [ecx + 0x2d], dl
mov ecx, dword [esp + 0x20]
dec ecx
test ecx, ecx
mov dword [esp + 0x20], ecx
je 0x436a84
cmp esi, dword [esp + 0x3c]
je 0x436a84
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
mov ebp, 4
mov dword [esp + 0x28], 4
mov dword [esp + 0x10], esi
test ecx, ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0xc], ecx
je 0x43689b
mov eax, dword [esp + 0xc]
cmp eax, 0xfffffff
ja 0x436f7e
lea edi, [eax*8]
test edi, edi
js 0x436f7e
mov ebx, dword [esi + 4]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x436f83
mov esi, dword [esp + 0xc]
mov ebp, eax
mov edx, esi
lea eax, [esi - 1]
and edx, 0x1fffffff
mov edi, eax
cmp edx, eax
cmovb edi, edx
xor ecx, ecx
cmp edi, 0xa
jae 0x436820
mov eax, esi
mov edx, ebx
jmp 0x436874
cmp edx, eax
cmovb eax, edx
lea edx, [ebx + eax*8 + 8]
cmp ebp, edx
jae 0x436839
lea eax, [ebp + eax*8 + 8]
mov edx, ebx
cmp ebx, eax
mov eax, esi
jb 0x436874
inc edi
mov ecx, 2
mov eax, edi
and eax, 1
cmove eax, ecx
mov ecx, edi
sub ecx, eax
mov eax, esi
xor esi, esi
sub eax, ecx
lea edx, [ebx + ecx*8]
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [ebx + esi*8]
movups xmmword [ebp + esi*8], xmm0
add esi, 2
cmp ecx, esi
jne 0x436860
mov esi, dword [esp + 0xc]
lea esi, [ebx + esi*8]
lea ecx, [ebp + ecx*8 + 4]
nop dword [eax + eax]
cmp edx, esi
je 0x436897
mov edi, dword [edx]
mov ebx, dword [edx + 4]
add edx, 8
dec eax
mov dword [ecx - 4], edi
mov dword [ecx], ebx
lea ecx, [ecx + 8]
jne 0x436880
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + 0x2c]
mov dword [esp + 0x14], ebp
mov byte [esp + 0xb], al
mov eax, dword [esi + 0x14]
test eax, eax
mov dword [esp + 4], eax
je 0x43698f
cmp eax, 0xfffffff
ja 0x436f7e
lea edi, [eax*8]
test edi, edi
js 0x436f7e
mov ebx, dword [esi + 0x10]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x436f83
mov ebp, dword [esp + 4]
mov edx, ebp
lea esi, [ebp - 1]
and edx, 0x1fffffff
mov edi, esi
cmp edx, esi
cmovb edi, edx
xor ecx, ecx
cmp edi, 0xa
jae 0x436910
mov edx, ebx
jmp 0x43695f
cmp edx, esi
cmovb esi, edx
lea edx, [ebx + esi*8 + 8]
cmp eax, edx
jae 0x43692b
mov ebp, dword [esp + 4]
lea edx, [eax + esi*8 + 8]
cmp ebx, edx
mov edx, ebx
jb 0x43695f
inc edi
mov ebp, dword [esp + 4]
mov ecx, 2
mov edx, edi
and edx, 1
cmove edx, ecx
mov ecx, edi
xor esi, esi
sub ecx, edx
sub ebp, ecx
lea edx, [ebx + ecx*8]
nop dword [eax + eax]
movups xmm0, xmmword [ebx + esi*8]
movups xmmword [eax + esi*8], xmm0
add esi, 2
cmp ecx, esi
jne 0x436950
mov esi, dword [esp + 4]
lea ecx, [eax + ecx*8 + 4]
mov dword [esp + 0x28], eax
lea esi, [ebx + esi*8]
nop
cmp edx, esi
je 0x436987
mov edi, dword [edx]
mov ebx, dword [edx + 4]
add edx, 8
dec ebp
mov dword [ecx - 4], edi
mov dword [ecx], ebx
lea ecx, [ecx + 8]
jne 0x436970
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov eax, dword [esi + 0x20]
test eax, eax
mov dword [esp + 0x18], eax
je 0x436710
cmp eax, 0xfffffff
ja 0x436f7e
lea edi, [eax*8]
test edi, edi
js 0x436f7e
mov ebp, dword [esi + 0x1c]
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x436f83
mov ebx, dword [esp + 0x18]
mov edi, ebx
lea ecx, [ebx - 1]
and edi, 0x1fffffff
mov esi, ecx
cmp edi, ecx
cmovb esi, edi
xor edx, edx
cmp esi, 0xa
jae 0x436a00
mov ecx, ebx
mov edi, ebp
jmp 0x436a54
cmp edi, ecx
cmovb ecx, edi
lea edi, [ebp + ecx*8 + 8]
cmp eax, edi
jae 0x436a19
lea ecx, [eax + ecx*8 + 8]
mov edi, ebp
cmp ebp, ecx
mov ecx, ebx
jb 0x436a54
inc esi
mov edx, 2
mov ecx, esi
and ecx, 1
cmove ecx, edx
mov edx, esi
xor esi, esi
sub edx, ecx
mov ecx, ebx
sub ecx, edx
lea edi, [ebp + edx*8]
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [ebp + esi*8]
movups xmmword [eax + esi*8], xmm0
add esi, 2
cmp edx, esi
jne 0x436a40
mov ebx, dword [esp + 0x18]
lea esi, [ebp + ebx*8]
lea edx, [eax + edx*8 + 4]
nop dword [eax]
cmp edi, esi
je 0x436a77
mov ebp, dword [edi]
mov ebx, dword [edi + 4]
add edi, 8
dec ecx
mov dword [edx - 4], ebp
mov dword [edx], ebx
lea edx, [edx + 8]
jne 0x436a60
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
jmp 0x436715
mov eax, dword [esp]
mov edi, dword [eax + 0x158]
mov edx, dword [eax + 0x154]
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 0x14c]
mov ebp, dword [eax + 0x150]
mov ebx, dword [eax + 8]
mov dword [esp + 0x14], edi
mov edi, dword [eax + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x15c]
mov eax, dword [eax + 0x160]
mov dword [esp + 0x18], ecx
cmp edi, 5
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], edx
je 0x436aef
cmp edi, 4
jb 0x436aef
mov ecx, dword [esp]
mov eax, dword [ecx + 0x18]
push dword [ecx + 0x14]
call dword [eax + 0x24]
add esp, 4
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], edx
mov eax, dword [esp]
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], ebx
movzx ecx, byte [eax + 0x168]
mov edx, dword [eax + 0x164]
mov edi, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
test eax, eax
mov dword [esp + 0x58], eax
mov byte [esp + 0xb], cl
mov dword [esp + 0x3c], edx
je 0x436b59
cmp eax, 0x7ffffff
ja 0x436f7e
mov ebx, eax
shl ebx, 4
js 0x436f7e
movzx eax, byte [0x94bfc5]
lea edx, [ebx + 0x10]
xor ecx, ecx
call fcn.0071ee80
test eax, eax
je 0x436fb3
mov ecx, eax
and ecx, 0xfffffff0
mov dword [ecx + 0xc], eax
add ecx, 0x10
jmp 0x436b60
mov ecx, 0x10
xor ebx, ebx
push ebx
push edi
mov dword [esp + 0xdc], ecx
push ecx
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebp
mov ebx, dword [eax + 0x88]
test ebx, ebx
mov dword [esp + 0xd0], ebx
je 0x436c1d
cmp ebx, 0xfffffff
ja 0x436f7e
lea edx, [ebx*8]
test edx, edx
js 0x436f7e
mov eax, dword [esp]
xor ecx, ecx
xor esi, esi
mov edi, dword [eax + 0x84]
movzx eax, byte [0x94bfc5]
mov dword [esp + 0xc], edx
call fcn.0071ee80
test eax, eax
je 0x436fbf
mov ebp, dword [esp + 0x1c]
mov dword [esp + 4], eax
cmp dword [esp + 0xc], esi
je 0x436c0b
mov eax, dword [edi + 4]
lea ebp, [edi + 8]
push dword [edi]
call dword [eax + 0x1c]
add esp, 4
mov ecx, dword [esp + 4]
mov edi, ebp
mov ebp, dword [esp + 0x1c]
dec ebx
mov dword [ecx + esi], eax
mov dword [ecx + esi + 4], edx
lea esi, [esi + 8]
jne 0x436be0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x436c39
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 4], 4
mov eax, dword [esp + 0x118]
movups xmm0, xmmword [esp + 0x11c]
mov ebx, dword [esp + 0x10]
mov dword [eax + 0x11c], edx
mov edx, dword [esp + 0x114]
mov dword [eax + 0x120], esi
mov dword [eax + 0x124], edi
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x84]
mov dword [eax + 0x128], edx
mov edx, dword [esp + 0x110]
mov dword [eax + 0x1c], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0x8c], edx
mov dword [eax + 0x94], edx
mov edx, dword [esp + 0xc8]
mov dword [eax + 0x90], esi
mov dword [eax + 0x98], ecx
mov esi, dword [esp + 0x10c]
mov dword [eax + 0xa0], ecx
mov dword [eax + 0x9c], edx
mov edx, dword [esp + 0x108]
mov dword [eax + 0x12c], esi
mov esi, dword [esp + 0x104]
mov dword [eax + 0x130], edx
mov edx, dword [esp + 0x100]
mov dword [eax + 0x134], esi
mov esi, dword [esp + 0xfc]
mov dword [eax + 0x138], edx
mov edx, dword [esp + 0xf8]
mov dword [eax + 0x13c], esi
mov esi, dword [esp + 0x80]
mov dword [eax + 0x140], edx
mov edx, dword [esp + 0xc4]
mov dword [eax + 0xa4], edi
mov dword [eax + 0xac], edi
mov edi, dword [esp + 0x7c]
mov dword [eax + 0xa8], edx
mov edx, dword [esp + 0xc0]
mov dword [eax + 0xb0], esi
mov dword [eax + 0xb8], esi
mov esi, dword [esp + 0x78]
mov dword [eax + 0xb4], edx
mov edx, dword [esp + 0xbc]
mov dword [eax + 0xbc], edi
mov dword [eax + 0xc4], edi
mov edi, dword [esp + 0x74]
mov dword [eax + 0xc0], edx
mov edx, dword [esp + 0xb8]
mov dword [eax + 0xc8], esi
mov dword [eax + 0xd0], esi
mov esi, dword [esp + 0x70]
mov dword [eax + 0xcc], edx
mov edx, dword [esp + 0xb4]
mov dword [eax + 0xd4], edi
mov dword [eax + 0xdc], edi
mov edi, dword [esp + 0x94]
mov dword [eax + 0xd8], edx
mov edx, dword [esp + 0xb0]
mov dword [eax + 0xe0], esi
mov dword [eax + 0xe8], esi
mov esi, dword [esp + 0xf0]
mov dword [eax + 0xe4], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0xf4]
mov dword [eax + 0x28], edi
mov edi, dword [esp + 0x90]
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 0x38], ebp
mov esi, dword [esp + 0x6c]
mov dword [eax + 0x3c], edx
mov edx, dword [esp + 0xac]
mov dword [eax + 0x40], ebp
mov dword [eax + 0xec], esi
mov dword [eax + 0xf4], esi
mov esi, dword [esp + 0x68]
mov dword [eax + 0xf0], edx
mov edx, dword [esp + 0xa8]
mov dword [eax + 0xf8], esi
mov dword [eax + 0x100], esi
mov esi, dword [esp + 0x64]
mov dword [eax + 0xfc], edx
mov edx, dword [esp + 0xa4]
mov dword [eax + 0x104], esi
mov dword [eax + 0x10c], esi
mov esi, dword [esp + 0xec]
mov dword [eax + 0x108], edx
mov edx, dword [esp + 0xe8]
mov dword [eax], esi
mov esi, dword [esp + 0x60]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xa0]
mov dword [eax + 0x110], esi
mov dword [eax + 0x118], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + 0x114], edx
mov edx, dword [esp + 0x50]
movlps qword [eax + 0x144], xmm0
mov dword [eax + 0x44], edi
mov dword [eax + 0x48], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 0x4c], edi
mov edi, dword [esp + 0xe4]
mov dword [eax + 0x50], edx
mov dword [eax + 0x54], esi
mov dword [eax + 0x58], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 0x5c], edi
mov esi, dword [esp + 0x44]
mov dword [eax + 0x60], edx
mov edx, dword [esp + 0xe0]
mov dword [eax + 0x64], edi
mov edi, dword [esp + 0x58]
mov dword [eax + 0x68], edx
mov dword [eax + 0x6c], esi
mov dword [eax + 0x70], edx
mov edx, dword [esp + 0xdc]
mov esi, dword [esp + 0xd8]
mov dword [eax + 0x14c], edx
mov edx, dword [esp + 0x18]
mov dword [eax + 0x150], esi
mov dword [eax + 8], ebx
mov esi, dword [esp + 0x28]
movzx ebx, byte [esp + 0xb]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 0x154], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + 0x158], edx
mov edx, dword [esp + 0x20]
mov dword [eax + 0x15c], esi
mov esi, dword [esp + 0x24]
mov dword [eax + 0x160], edx
mov edx, dword [esp + 0x98]
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0x9c]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 0x14], esi
mov byte [eax + 0x168], bl
mov esi, dword [esp + 0xd0]
mov dword [eax + 0x164], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + 0x74], edi
mov dword [eax + 0x78], edx
mov edx, dword [esp + 4]
mov dword [eax + 0x7c], edi
mov dword [eax + 0x80], esi
mov dword [eax + 0x84], edx
mov dword [eax + 0x88], esi
add esp, 0x298
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00418cb0
mov ecx, 4
mov edx, edi
call fcn.007c1490
mov ecx, 4
mov edx, ebp
call fcn.007c1490
mov ecx, 4
mov edx, esi
call fcn.007c1490
mov ecx, 4
mov edx, ebx
call fcn.007c1490
mov ecx, 0x10
mov edx, ebx
call fcn.007c1490
mov edx, dword [esp + 0xc]
mov ecx, 4
call fcn.007c1490
int3