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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov esi, esp
mov dword [esi + 0xf8], ebp
mov dword [esi + 0xfc], esp
mov dword [esi + 0x108], 0xffffffff
mov dword [esi + 0x104], 0x469ec0
lea eax, [esi + 0x100]
mov edi, dword fs:[0]
mov dword [esi + 0x100], edi
mov dword fs:[0], eax
mov eax, dword [edx + 0xdc]
mov dword [edx + 0xdc], 0
test eax, eax
je 0x469988
movsd xmm1, qword [edx + 0xf8]
movsd xmm0, qword [edx + 0xf0]
movsd xmm2, qword [edx + 0xe0]
mov dword [esi + 0x64], eax
mov dword [esi + 0xc], ecx
mov edi, 0x5c599c
mov dword [esi + 0x10], edx
lea ebx, [esi + 0x90]
movsd qword [esi + 0x30], xmm1
movsd xmm1, qword [edx + 0xe8]
movsd qword [esi + 0x28], xmm0
movsd qword [esi + 0x18], xmm2
movsd qword [esi + 0x20], xmm1
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x34]
test eax, eax
mov dword [esi + 0x60], ecx
mov dword [esi + 8], eax
cmovne edi, eax
cmove ecx, eax
mov eax, dword [edx + 0x1bc]
mov dword [esi + 0xd4], edi
mov edi, dword [edx + 0x1b4]
mov dword [esi + 0xd0], ecx
lea eax, [eax + eax*2]
lea edx, [edi + eax*4]
mov dword [esi + 0x68], edi
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, dword [esi + 0x68]
je 0x46974d
mov eax, edx
add edx, 0xfffffff4
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x469660
mov eax, dword [eax - 8]
mov dword [esi + 4], edx
mov dword [esi + 0x108], 0
push dword [esi + 0xd0]
push dword [esi + 0xd4]
push eax
push ecx
push ebx
call fcn.0046d560
add esp, 0x14
cmp dword [esi + 0x90], 0
mov edx, dword [esi + 4]
lea ebx, [esi + 0x90]
jne 0x469660
mov ecx, dword [esi + 0x9c]
mov eax, dword [esi + 0x94]
lea ecx, [ecx + ecx*2]
mov edi, dword [eax + ecx*4 + 0x90]
test edi, edi
je 0x46999f
setns dl
js 0x469d5a
mov eax, dword [eax + ecx*4 + 0x88]
movzx ebx, dl
mov dword [esi + 4], eax
movzx eax, byte [0x636fbd]
push ebx
push edi
call fcn.00452e20
add esp, 8
test eax, eax
je 0x469d61
push edi
push dword [esi + 4]
mov dword [esi + 4], eax
push eax
call fcn.005885b0
add esp, 0xc
mov eax, dword [esi + 0x20]
test eax, eax
je 0x469725
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x469725
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 4]
lea ebx, [esi + 0x90]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 0x1c8]
test eax, eax
jne 0x4699d8
jmp 0x469c0a
mov dword [esi + 0x6c], 1
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x108], 1
lea eax, [esi + 0x6c]
push 0x5c58f0
push eax
push ebx
call fcn.005409a0
add esp, 0xc
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
test ecx, ecx
mov dword [esi + 0x68], eax
mov dword [esi + 4], ecx
je 0x4697f0
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x28]
mov dword [esi + 0x38], 0x5c6720
mov dword [esi + 0x3c], 2
mov dword [esi + 0x48], 0
mov dword [esi + 0x88], ecx
mov dword [esi + 0x8c], eax
lea eax, [esi + 0x88]
mov dword [esi + 0x7c], eax
lea eax, [esi + 0x7c]
mov dword [esi + 0x80], 0x41fcd0
mov dword [esi + 0x40], eax
lea eax, [esi + 0x38]
mov dword [esi + 0x44], 1
push eax
lea eax, [esi + 0x90]
push eax
call fcn.00541590
add esp, 8
test al, al
jne 0x469d3b
cmp dword [esi + 8], 0
je 0x469858
mov eax, dword [esi + 8]
mov dword [esi + 0x38], 0x5c6734
mov dword [esi + 0x3c], 2
mov dword [esi + 0x48], 0
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x8c], eax
lea eax, [esi + 0x88]
mov dword [esi + 0x7c], eax
lea eax, [esi + 0x7c]
mov dword [esi + 0x80], 0x41fcd0
mov dword [esi + 0x40], eax
lea eax, [esi + 0x38]
mov dword [esi + 0x44], 1
push eax
lea eax, [esi + 0x90]
push eax
call fcn.00541590
add esp, 8
test al, al
jne 0x469d3b
push dword [esi + 0x68]
push dword [esi + 0x64]
lea eax, [esi + 0x90]
push eax
call fcn.00541570
add esp, 0xc
test al, al
jne 0x469d3b
mov eax, dword [esi + 0x74]
movsd xmm0, qword [esi + 0x6c]
mov dword [esi + 0x108], 0
mov dword [esi + 0x40], eax
lea eax, [esi + 0x38]
movsd qword [esi + 0x38], xmm0
push eax
call fcn.00539490
add esp, 4
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x40], edx
lea edi, [esi + 0x38]
mov byte [esi + 0x38], 0x12
lea ecx, [esi + 0x90]
mov edx, dword [eax + 0x170]
push edi
push dword [eax + 0x17c]
push dword [eax + 0x178]
push dword [eax + 0x174]
call fcn.005aaf60
add esp, 0x10
mov eax, dword [esi + 0xc]
movsd xmm1, qword [esi + 0xc0]
movsd xmm2, qword [esi + 0xb8]
movsd xmm0, qword [esi + 0xc8]
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esi + 0xb0]
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esi + 0xa8]
movsd qword [eax + 0x38], xmm0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esi + 0xa0]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esi + 0x90]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esi + 0x98]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
mov eax, dword [esi + 0x18]
test eax, eax
je 0x469951
push 1
push eax
push dword [esi + 0x64]
call fcn.00452e30
add esp, 0xc
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x46996b
mov eax, dword [esi + 0x24]
test eax, eax
je 0x46996b
push 1
push eax
push ecx
call fcn.00452e30
add esp, 0xc
cmp dword [esi + 8], 0
je 0x46998b
mov eax, dword [esi + 0x30]
test eax, eax
je 0x46998b
push 1
push eax
push dword [esi + 8]
call fcn.00452e30
add esp, 0xc
jmp 0x46998b
mov byte [ecx], 0xa
mov eax, dword [esi + 0x100]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4699b9
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4699b9
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov dword [esi + 0x20], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 0x1c8]
test eax, eax
je 0x469c0a
dec eax
mov dword [ecx + 0x1c8], eax
lea edx, [eax + eax*8]
mov ecx, dword [ecx + 0x1c0]
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x469c0a
lea ecx, [ecx + edx*4]
movsd xmm0, qword [ecx + 0x1c]
movsd xmm1, qword [ecx + 0x14]
movsd xmm2, qword [ecx + 4]
movsd xmm3, qword [ecx + 0xc]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x38], eax
movsd qword [esi + 0x3c], xmm2
movsd qword [esi + 0x44], xmm3
movsd qword [esi + 0x4c], xmm1
movsd qword [esi + 0x54], xmm0
cmp ecx, dword [esi + 0x40]
jne 0x469a3e
push ecx
push eax
push dword [esi + 0x64]
call fcn.00588c8a
add esp, 0xc
test eax, eax
je 0x469c20
lea eax, [esi + 0x14]
mov dword [esi + 0x90], 0x5c5d20
mov dword [esi + 0x94], 2
mov dword [esi + 0xa0], 0
mov dword [esi + 0x108], 2
mov dword [esi + 0x6c], eax
lea eax, [esi + 0x38]
mov dword [esi + 0x70], 0x45f6f0
mov dword [esi + 0x74], eax
lea eax, [esi + 0x6c]
mov dword [esi + 0x78], 0x45f6f0
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], 2
lea eax, [esi + 0x7c]
push ebx
push eax
call fcn.00538850
add esp, 8
mov eax, dword [esi + 0x84]
movsd xmm0, qword [esi + 0x7c]
mov dword [esi + 0x98], eax
lea eax, [esi + 0x90]
movsd qword [esi + 0x90], xmm0
push eax
call fcn.00539490
add esp, 4
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x74], edx
lea edi, [esi + 0x6c]
mov byte [esi + 0x6c], 0x13
lea ecx, [esi + 0x90]
mov edx, dword [eax + 0x170]
push edi
push dword [eax + 0x17c]
push dword [eax + 0x178]
push dword [eax + 0x174]
call fcn.005aaf60
add esp, 0x10
mov eax, dword [esi + 0xc]
movsd xmm1, qword [esi + 0xc0]
movsd xmm2, qword [esi + 0xb8]
movsd xmm0, qword [esi + 0xc8]
xor ebx, ebx
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esi + 0xb0]
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esi + 0xa8]
movsd qword [eax + 0x38], xmm0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esi + 0xa0]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esi + 0x90]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esi + 0x98]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x469b80
push 1
push eax
push dword [esi + 0x38]
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x44]
test eax, eax
je 0x469b9a
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x469b9a
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x50]
test eax, eax
je 0x469bb4
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x469bb4
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
test bl, bl
jne 0x46998b
mov eax, dword [esi + 0x18]
test eax, eax
je 0x469bd1
push 1
push eax
push dword [esi + 0x14]
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x20]
test eax, eax
je 0x469beb
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x469beb
push 1
push ecx
push eax
call fcn.00452e30
add esp, 0xc
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x46998b
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x46998b
push 1
push ecx
push eax
jmp 0x46997e
mov eax, dword [esi + 0xc]
mov byte [eax], 0xa
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x469943
jmp 0x469951
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x44]
test ecx, ecx
je 0x469c51
test eax, eax
je 0x469c51
mov ecx, dword [esi + 0x4c]
cmp dword [esi + 0x28], ecx
jne 0x469a3e
push ecx
push eax
push dword [esi + 4]
call fcn.00588c8a
add esp, 0xc
test eax, eax
jne 0x469a3e
jmp 0x469c59
or ecx, eax
jne 0x469a3e
cmp dword [esi + 8], 0
mov eax, dword [esi + 0x50]
je 0x469c8b
test eax, eax
je 0x469c8b
mov ecx, dword [esi + 0x60]
cmp ecx, dword [esi + 0x58]
jne 0x469a3e
push dword [esi + 0x60]
push eax
push dword [esi + 8]
call fcn.00588c8a
add esp, 0xc
test eax, eax
jne 0x469a3e
jmp 0x469c94
or dword [esi + 8], eax
jne 0x469a3e
movsd xmm0, qword [esi + 0x2c]
mov eax, dword [esi + 0x34]
movsd xmm1, qword [esi + 0x1c]
mov ecx, dword [esi + 0x10]
mov bl, 1
movsd qword [esi + 0xab], xmm0
movsd xmm0, qword [esi + 0x24]
mov dword [esi + 0xb3], eax
movsd qword [esi + 0x9b], xmm1
mov eax, dword [esi + 0xc]
mov byte [ecx + 0x1df], 1
mov byte [ecx + 0x1d8], 0
movsd qword [esi + 0xa3], xmm0
movsd xmm0, qword [esi + 0x14]
movsd qword [esi + 0x93], xmm0
movsd xmm0, qword [esi + 0xaf]
movsd xmm1, qword [esi + 0xa0]
movsd xmm2, qword [esi + 0xa8]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x19], xmm2
movsd qword [eax + 0x11], xmm1
movsd xmm2, qword [esi + 0x98]
movsd xmm1, qword [esi + 0x90]
movsd qword [eax + 9], xmm2
movsd qword [eax + 1], xmm1
mov byte [eax], 4
mov eax, dword [esi + 0x3c]
test eax, eax
jne 0x469b72
jmp 0x469b80
lea eax, [esi + 0x38]
push 0x5c598c
push 0x5c599c
push eax
push 0x37
push 0x5c5908
call fcn.005b1a30
add esp, 0x14
jmp 0x469d6b
call fcn.00538200
jmp 0x469d6b
push edi
push ebx
call fcn.005b14d0
add esp, 8
ud2