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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x450
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
call 0x43217a
pop eax
lea edi, [esp + 0x70]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], eax
movzx eax, byte [ebp + 0x10]
movsd xmm0, qword [ecx + 0x10]
movsd xmm2, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea ecx, [edx + 0x6c]
lea esi, [edx + 0x10]
mov dword [esp + 0x3c], ecx
lea ecx, [edx + 0x14]
movzx eax, al
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x108]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm2
push edi
mov dword [esp + 0x48], eax
push eax
call fcn.00432ce0
add esp, 8
cmp dword [esp + 0x108], 0
mov dword [esp + 0x14], esi
je 0x432270
push 0xc4
lea eax, [esp + 0x110]
push eax
lea edi, [esp + 0x298]
push edi
call fcn.004f5b80
add esp, 0xc
mov esi, dword [ebp + 8]
lea eax, [esi + 4]
push 0xc4
push edi
push eax
call fcn.004f5b80
add esp, 0xc
mov dword [esi], 1
mov esi, dword [esp + 0x20]
test esi, esi
je 0x432b36
mov edi, dword [esp + 0x1c]
add edi, 0x28
jmp 0x43225a
add edi, 0x48
dec esi
je 0x432b36
mov eax, dword [edi - 4]
test eax, eax
je 0x432250
push 1
push eax
push dword [edi]
call fcn.0040dc90
add esp, 0xc
jmp 0x432250
mov eax, dword [ebp + 0xc]
lea ebx, [esp + 0x1d0]
add eax, 0x18
mov dword [esp + 0x24], eax
jmp 0x4322ed
lea ebx, [esp + 0x1d0]
mov ecx, ebx
call fcn.004318e0
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x108]
movsd xmm0, qword [eax + 0x10]
movsd xmm2, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x70]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm2
push eax
push dword [esp + 0x48]
call fcn.00432ce0
add esp, 8
cmp dword [esp + 0x108], 0
jne 0x4321f9
push 0xc0
lea eax, [esp + 0x110]
push eax
lea edi, [esp + 0x298]
push edi
call fcn.004f5b80
add esp, 0xc
push 0xc0
push edi
push ebx
call fcn.004f5b80
add esp, 0xc
movzx eax, word [esp + 0x28c]
mov dword [esp + 8], eax
add eax, 0xfffffed4
cmp ax, 0x63
jae 0x4328f0
mov eax, dword [esi]
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x4328f0
mov edx, dword [esp + 0x20]
inc edx
cmp edx, ecx
jae 0x4329ea
push 8
push str.locationredirect_____
push dword [esp + 0x284]
push dword [esp + 0x284]
call fcn.0040f290
add esp, 0x10
test eax, eax
je 0x4328f0
mov ecx, dword [esp + 0x24]
mov esi, eax
lea ebx, [esp + 0x108]
mov dword [esp + 0x48], eax
mov edi, edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x34], ecx
push ebx
call fcn.004a5cd0
add esp, 4
push dword [esp + 0x34]
push ebx
lea ebx, [esp + 0x60]
push ebx
call fcn.004a5c10
add esp, 0xc
push edi
push esi
push ebx
lea esi, [esp + 0x360]
push esi
call fcn.004a5c40
add esp, 0x10
cmp dword [esp + 0x354], 2
je 0x432a7a
lea eax, [esp + 0x290]
mov ecx, 0x12
lea edx, [esp + 0x70]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x12
mov edi, edx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x12
lea edi, [esp + 0xc0]
mov esi, edx
mov ebx, dword [esp + 8]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebx - 0x12d]
cmp eax, 3
jae 0x4324a0
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x68]
mov ebx, dword [edx + 0x64]
cmp eax, 4
je 0x4324e1
cmp eax, 3
jne 0x432443
movzx ecx, byte [ebx + 2]
mov edi, eax
movzx eax, word [ebx]
xor eax, 0x4547
xor ecx, 0x54
or cx, ax
mov eax, edi
je 0x4324ed
push 1
push 3
call fcn.0040dc80
add esp, 8
test eax, eax
je 0x432c75
mov ebx, eax
mov byte [eax + 2], 0x54
mov word [eax], 0x4547
mov al, 1
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 3
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
mov dword [esp + 4], ebx
cmp byte [eax + 0x8e], 0
jne 0x4325b7
xor ebx, ebx
jmp 0x4326aa
mov esi, dword [esp + 0x14]
mov edi, dword [ebp + 0xc]
cmp ebx, 0x133
lea edx, [esp + 0x1d0]
je 0x4324f9
cmp ebx, 0x134
jne 0x432c15
mov eax, dword [edi + 0x68]
add eax, 0xfffffffd
cmp eax, 4
ja 0x432c15
mov eax, dword [eax*4 + 0x432cb4]
mov ebx, dword [edi + 0x64]
add eax, dword [esp + 0x38]
jmp eax
cmp dword [ebx], 0x44414548
jne 0x432443
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x60]
jmp 0x432598
mov eax, dword [edi + 0x68]
add eax, 0xfffffffd
cmp eax, 4
ja 0x432c15
mov eax, dword [eax*4 + 0x432cc8]
mov ebx, dword [edi + 0x64]
add eax, dword [esp + 0x38]
jmp eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x2c], 0
mov eax, dword [esi]
mov dword [esp + 4], ebx
cmp byte [eax + 0x8e], 0
je 0x43248b
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0xc0]
push eax
call fcn.004a5e50
add esp, 4
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x432620
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xe8]
cmp ecx, edx
jae 0x4325fb
cmp byte [esi + ecx], 0xbf
jg 0x432601
jmp 0x432c83
jne 0x432c83
cmp ecx, 5
jne 0x432620
movzx eax, byte [esi + 4]
mov ecx, dword [esi]
mov edx, 0x70747468
xor ecx, edx
xor eax, 0x73
or eax, ecx
sete al
mov esi, eax
jmp 0x432622
xor esi, esi
push ebx
call fcn.004a5e50
add esp, 4
mov edi, dword [ebx + 0x10]
test edi, edi
je 0x432670
mov ecx, dword [ebx + 0x28]
mov ebx, dword [ebx + 0x2c]
cmp edi, ebx
jae 0x432647
cmp byte [ecx + edi], 0xbf
jg 0x43264d
jmp 0x432c8f
jne 0x432c8f
cmp edi, 5
jne 0x432670
mov edi, dword [ecx]
movzx ecx, byte [ecx + 4]
mov ebx, 0x70747468
xor edi, ebx
xor ecx, 0x73
or ecx, edi
sete bl
jmp 0x432672
xor ebx, ebx
mov edi, dword [esp + 0x28]
xor bl, 1
mov ecx, esi
or bl, cl
mov ecx, edi
or ecx, eax
sete cl
test edi, edi
je 0x4326a8
test eax, eax
je 0x4326a8
mov ecx, dword [esp + 0x40]
cmp ecx, edx
jne 0x4326a6
push ecx
push eax
push edi
call fcn.004f60f4
add esp, 0xc
test eax, eax
sete cl
jmp 0x4326a8
xor ecx, ecx
and bl, cl
mov eax, dword [0x57407c]
mov byte [esp + 0x354], bl
mov eax, dword [eax]
cmp eax, 3
jbe 0x43276a
mov eax, dword [esp + 8]
mov dword [esp + 0x298], 0x51bb80
mov dword [esp + 0x29c], 3
mov dword [esp + 0x290], 0
mov word [esp + 0x70], ax
lea eax, [esp + 0x70]
mov dword [esp + 0x108], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x10c], fcn.004d9110
mov dword [esp + 0x110], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x114], 0x41b860
mov dword [esp + 0x118], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x11c], 0x412fc0
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], 3
sub esp, 4
push 0
push 0xd4
push 0x51bba4
push 4
lea eax, [esp + 0x2a4]
push eax
call fcn.004bc640
add esp, 0x18
mov esi, dword [esp + 0x24]
mov ecx, 0x12
lea edi, [esp + 0x108]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x18]
jne 0x432798
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00429540
add esp, 8
mov eax, dword [esp + 0x20]
lea edi, [eax + eax*8]
lea ebx, [esp + 0x108]
mov ecx, 0x12
inc eax
shl edi, 3
mov esi, ebx
add edi, dword [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x20], eax
mov dword [esp + 0x108], 0
push ebx
mov esi, dword [ebp + 0x14]
push esi
call fcn.0042a9b0
add esp, 8
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x354]
movsd qword [esp + 0x70], xmm0
push eax
lea eax, [esp + 0x74]
push eax
call fcn.004265e0
add esp, 8
movsd xmm0, qword [esp + 0x70]
mov eax, dword [esp + 0x78]
mov edi, dword [ebp + 0xc]
movsd qword [esp + 0x290], xmm0
mov dword [esp + 0x298], eax
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push esi
lea eax, [esp + 0x2a0]
push eax
lea eax, [esp + 0xd4]
push eax
push dword [esp + 0x28]
push dword [esp + 0x20]
mov esi, dword [esp + 0x34]
push esi
push ebx
call fcn.00431a00
add esp, 0x28
mov eax, dword [edi + 0x10]
lock dec dword [eax]
jne 0x432870
push esi
call fcn.00421720
add esp, 4
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
lock dec dword [eax]
je 0x43287b
cmp byte [esp + 0x2c], 0
mov ebx, dword [esp + 4]
jne 0x43288f
jmp 0x4328a4
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
lock dec dword [eax]
jne 0x432861
push ecx
call fcn.00421b20
add esp, 4
cmp byte [esp + 0x2c], 0
mov ebx, dword [esp + 4]
je 0x4328a4
mov eax, dword [edi + 0x60]
test eax, eax
je 0x4328a4
push 1
push eax
push dword [edi + 0x64]
call fcn.0040dc90
add esp, 0xc
mov ecx, 0x20
lea esi, [esp + 0x108]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4328c6
push 1
push eax
push ebx
call fcn.0040dc90
add esp, 0xc
mov eax, dword [esp + 0xe4]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x432290
push 1
push eax
push dword [esp + 0xf0]
call fcn.0040dc90
add esp, 0xc
jmp 0x432290
lea eax, [esp + 0x39c]
push 0xb0
push ebx
push eax
call fcn.004f5b80
add esp, 0xc
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x28c]
mov ebx, dword [esp + 0x280]
mov esi, dword [esp + 0x288]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test esi, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
je 0x43296c
mov eax, dword [esp + 4]
lea edi, [eax + 0x28]
jmp 0x432956
add edi, 0x48
dec esi
je 0x43296c
mov eax, dword [edi - 4]
test eax, eax
je 0x432950
push 1
push eax
push dword [edi]
call fcn.0040dc90
add esp, 0xc
jmp 0x432950
test ebx, ebx
je 0x432985
shl ebx, 3
lea eax, [ebx + ebx*8]
push 4
push eax
push dword [esp + 0xc]
call fcn.0040dc90
add esp, 0xc
mov esi, dword [ebp + 8]
lea ecx, [esp + 0x39c]
lea eax, [esi + 4]
push 0xb0
push ecx
push eax
call fcn.004f5b80
add esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], ecx
mov ecx, dword [esp + 8]
mov dword [esi + 0xbc], edx
mov dword [esi + 0xc0], ecx
mov dword [esi], 0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lock dec dword [eax]
je 0x432b65
jmp 0x432b6e
mov esi, dword [ebp + 8]
add eax, 0x50
lea ecx, [esp + 0x108]
mov dword [esp + 0x110], 0x51bb58
mov dword [esp + 0x114], 2
mov dword [esp + 0x108], 0
mov dword [esp + 0x290], eax
lea eax, [esp + 0x290]
mov dword [esp + 0x294], fcn.004d9300
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], 1
lea eax, [esi + 0xa8]
push ecx
push eax
call fcn.004d1060
add esp, 8
mov dword [esi + 0x58], 0
mov dword [esi + 0x60], 2
mov byte [esi + 0xb4], 5
mov dword [esi + 0x54], 2
mov dword [esi], 1
jmp 0x432b1e
movzx ebx, byte [esp + 0x358]
lea eax, [esp + 0x48]
mov dword [esp + 0x60], 0x51bbd0
mov dword [esp + 0x64], 1
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x58]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0x404150
mov dword [esp + 0x68], eax
lea eax, [esp + 0x14c]
mov dword [esp + 0x6c], 1
push ecx
push eax
call fcn.004d1060
add esp, 8
push 1
push 1
call fcn.0040dc80
add esp, 8
test eax, eax
je 0x432ca3
mov edx, dword [ebp + 8]
mov byte [eax], bl
lea esi, [esp + 0x108]
mov ecx, 0x14
lea edi, [edx + 0x64]
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x58], eax
mov dword [edx + 0x5c], 0x51b3c8
mov dword [edx + 0x60], 2
mov byte [edx + 0xb4], 0
mov dword [edx + 0x54], 2
mov dword [edx], 1
lea ecx, [esp + 0x1d0]
call fcn.004318e0
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x43223d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x432b53
shl eax, 3
lea eax, [eax + eax*8]
push 4
push eax
push dword [esp + 0x24]
call fcn.0040dc90
add esp, 0xc
mov esi, dword [esp + 0x30]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lock dec dword [eax]
jne 0x432b6e
push ecx
call fcn.00421720
add esp, 4
mov eax, dword [esi]
lock dec dword [eax]
jne 0x432b87
push esi
call fcn.00421b20
add esp, 4
mov eax, dword [ebx + 0x60]
test eax, eax
jne 0x432b8e
jmp 0x432b9c
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x432b9c
push 1
push eax
push dword [ebx + 0x64]
call fcn.0040dc90
add esp, 0xc
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x432bb1
push 1
push eax
push dword [ebx + 0x40]
call fcn.0040dc90
add esp, 0xc
mov esi, dword [ebx + 0x74]
test esi, esi
je 0x432bec
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x70]
add edi, 8
jmp 0x432bd6
add edi, 0x10
dec esi
je 0x432bec
mov eax, dword [edi - 4]
test eax, eax
je 0x432bd0
push 1
push eax
push dword [edi]
call fcn.0040dc90
add esp, 0xc
jmp 0x432bd0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
test eax, eax
je 0x432c0a
shl eax, 4
push 4
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x70]
call fcn.0040dc90
add esp, 0xc
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x39c]
push 0xb0
push edx
push eax
call fcn.004f5b80
add esp, 0xc
mov eax, dword [esp + 0x284]
mov ebx, dword [esp + 0x280]
mov esi, dword [esp + 0x288]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x43292a
push 1
push eax
push dword [esp + 0xf0]
call fcn.0040dc90
add esp, 0xc
jmp 0x43292a
push 1
push 3
call fcn.005062c0
add esp, 8
ud2
push 0x51b914
push ecx
push 0
push edx
push esi
jmp 0x432c99
push 0x51b914
push edi
push 0
push ebx
push ecx
call fcn.005062e0
add esp, 0x14
ud2
push 1
push 1
call fcn.005062c0
add esp, 8
ud2