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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x150
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push 0
call dword [eax]
add esp, 4
mov ebx, eax
test eax, eax
je 0x451b71
push 0x12
pop ecx
lea edi, [esp + 0x104]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x5c], ebx
mov eax, dword [ebx]
test eax, eax
mov dword [esp + 0xb8], eax
je 0x451b7d
lea esi, [esp + 0x60]
push esi
call fcn.0045a5ff
pop eax
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
lea ebx, [esp + 0xe0]
movsd qword [ebx + 8], xmm1
movsd qword [ebx], xmm0
jmp 0x451b83
mov ecx, esi
call fcn.004540f6
jmp 0x452698
or dword [ebx], 0xffffffff
add ebx, 4
lea ecx, [ebx + 0xc]
lea eax, [ebx + 4]
mov dword [esp + 0xbc], ecx
push 0x12
pop ecx
lea edi, [esp + 0x60]
lea esi, [esp + 0x104]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xf4]
lea edi, [esp + 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], eax
and dword [ecx + 8], 0
movzx eax, byte [esp + 0xa4]
test eax, eax
je 0x451c62
cmp eax, 3
jne 0x4526ac
movzx eax, byte [esp + 0xa0]
test eax, eax
je 0x451c3b
cmp eax, 3
jne 0x4526b6
movzx eax, byte [esp + 0x9c]
test eax, eax
je 0x451c41
cmp eax, 3
jne 0x4526c0
movzx eax, byte [esp + 0x98]
test eax, eax
je 0x451c47
cmp eax, 3
jne 0x4526ca
movzx eax, byte [esp + 0x94]
test eax, eax
je 0x451c4d
cmp eax, 3
jne 0x4526d4
movzx eax, byte [esp + 0x90]
test eax, eax
je 0x451c55
cmp eax, 3
je 0x451ce9
jmp 0x4526de
mov ecx, dword [esp + 0x64]
jmp 0x451c84
mov ecx, dword [esp + 0x68]
jmp 0x451c90
mov eax, dword [esp + 0x6c]
jmp 0x451ca1
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx]
jmp 0x451cba
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
jmp 0x451ccd
push dword [esp + 0x60]
call fcn.00461423
pop ecx
test al, al
jne 0x452589
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x64], ecx
mov byte [esp + 0xa0], 0
mov dword [esp + 0x68], ecx
mov byte [esp + 0x9c], 0
call fcn.0040230b
mov dword [esp + 0x6c], eax
mov byte [esp + 0x98], 0
mov dword [esp + 0x70], eax
and dword [esp + 0x74], 0
lea ecx, [esp + 0x70]
mov dword [esp + 0x78], ecx
mov byte [esp + 0x94], 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov byte [esp + 0x90], 0
lea edx, [esp + 0x84]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.00454ced
pop ecx
pop edx
test eax, eax
mov esi, eax
sete al
add al, al
inc al
test esi, esi
mov byte [esp + 0x90], al
mov byte [esp + 0x94], al
je 0x451d6a
lea eax, [esp + 0x70]
push eax
call fcn.00461737
pop eax
push esi
call fcn.0046a1b4
pop ecx
mov esi, ebx
mov bl, 1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x98], bl
call fcn.00454276
lea ecx, [esp + 0x68]
mov byte [esp + 0x9c], bl
call fcn.004542e1
lea ecx, [esp + 0x64]
mov byte [esp + 0xa0], bl
mov ebx, esi
call fcn.00454319
jmp 0x451c62
mov al, 3
mov byte [esp + 0x98], al
mov byte [esp + 0x9c], al
mov byte [esp + 0xa0], al
mov byte [esp + 0xa4], al
push 0
push 0
push 0
push ebx
call fcn.0046b351
add esp, 0x10
test al, al
je 0x451e27
mov eax, dword [0x49c1fc]
lea esi, [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x452059
call fcn.0045a6ba
push eax
lea eax, [esp + 4]
push eax
call fcn.0045a709
pop eax
pop ecx
cmp byte [esp + 8], 2
je 0x451bb4
mov eax, dword [esp + 8]
movsd xmm0, qword [esp]
mov edi, 0x48d468
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
push edi
call fcn.00450e52
pop eax
push 0
push 0
push 0
push esi
lea esi, [esp + 0xd0]
push esi
call fcn.0045ac24
add esp, 0x14
mov ecx, esi
lea esi, [esp + 0x18]
call fcn.0044f086
push edi
lea edi, [esp + 0x34]
call fcn.00450e34
pop eax
mov ecx, esi
call fcn.00403efb
jmp 0x451bb4
call fcn.0045a6ba
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.0045a709
pop eax
pop ecx
cmp byte [esp + 0xdc], 2
lea esi, [esp + 0x18]
jne 0x451e65
mov eax, dword [0x49c1fc]
mov eax, dword [eax]
test eax, eax
je 0x452151
push ebx
call fcn.0046b334
pop eax
jmp 0x451bb4
mov eax, dword [esp + 0xdc]
movsd xmm0, qword [esp + 0xd4]
mov dword [esp + 0xb0], eax
movsd qword [esp + 0xa8], xmm0
call fcn.0042cb80
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ecx
push 0x48d468
call fcn.00450e52
pop eax
mov eax, dword [ebx + 0xc]
mov cl, 1
xchg byte [eax + 8], cl
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], eax
push 0
push 0
push 0
push ebx
call fcn.0046b351
add esp, 0x10
mov ecx, dword [0x49c1fc]
test al, al
mov ecx, dword [ecx]
jne 0x452245
test ecx, ecx
je 0x451f61
sub esp, 0x14
lea eax, [esp + 0xbc]
mov dword [esp], esi
mov dword [esp + 0x10], 0x3b9aca00
mov dword [esp + 4], eax
call fcn.0045ac24
add esp, 0x14
mov ecx, esi
call fcn.0044f086
push 0
push 0
push 0
push ebx
call fcn.0046b351
add esp, 0x10
test al, al
jne 0x452338
lea eax, [esp + 0x40]
push eax
call fcn.0042cf80
add esp, 4
and dword [esp + 0x1c], 0
and dword [esp + 0x18], 0
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ecx
mov ecx, esp
mov edx, esi
mov dword [esp + 0x20], 0x7a120
call fcn.00453dd1
test al, al
jne 0x45244e
push edi
call fcn.004548ef
pop eax
jmp 0x451e96
mov ecx, dword [0x49c11c]
call fcn.00401acd
test al, al
je 0x451edb
movzx eax, al
push eax
mov eax, dword [0x49c11c]
push dword [eax]
call fcn.0045fa60
pop ecx
pop edx
test al, al
je 0x451edb
mov eax, dword [0x49c11c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
and dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x18]
mov edx, esp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
lea esi, [eax + 0x1c]
call fcn.0045498b
lea edi, [esp + 0xc0]
lea edx, [esp + 0x18]
mov ecx, edi
push 0x48d46c
call fcn.0045436b
pop eax
mov dword [esp + 0x18], 0x48d48c
mov dword [esp + 0x1c], 1
and dword [esp + 0x28], 0
mov dword [esp + 0x20], 4
and dword [esp + 0x24], 0
lea eax, [esp + 0x18]
mov dword [esp + 0x34], edi
lea edi, [esp + 0x30]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x3c], 0x48d458
push eax
push esi
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
push eax
call fcn.0045b3ad
add esp, 0xc
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, esp
movsd qword [esp], xmm0
push eax
mov eax, dword [0x49c11c]
push dword [eax]
call fcn.0045fd95
pop eax
pop ecx
jmp 0x451edb
mov ecx, dword [0x49c114]
call fcn.00401acd
test al, al
je 0x451db2
movzx eax, al
push eax
mov eax, dword [0x49c114]
push dword [eax]
call fcn.0045fa60
pop ecx
pop edx
test al, al
je 0x451db2
mov eax, dword [0x49c114]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
and dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x18]
mov edx, esp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
lea esi, [eax + 0x1c]
call fcn.0045498b
lea edi, [esp + 0xc0]
lea edx, [esp + 0x18]
mov ecx, edi
push 0x48d528
call fcn.0045436b
pop eax
mov dword [esp + 0x18], 0x48d4e0
mov dword [esp + 0x1c], 1
and dword [esp + 0x28], 0
mov dword [esp + 0x20], 4
and dword [esp + 0x24], 0
lea eax, [esp + 0x18]
mov dword [esp + 0x40], edi
lea edi, [esp + 0x30]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x48], 0x48d458
push eax
push esi
lea esi, [esp + 0x20]
lea eax, [esp + 0x3c]
push eax
call fcn.0045b3ad
add esp, 0xc
mov eax, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, esp
movsd qword [esp], xmm0
push eax
mov eax, dword [0x49c114]
push dword [eax]
call fcn.0045fd95
pop eax
pop ecx
jmp 0x451db2
mov ecx, dword [0x49c128]
call fcn.00401acd
test al, al
je 0x451e59
movzx eax, al
push eax
mov eax, dword [0x49c128]
push dword [eax]
call fcn.0045fa60
pop ecx
pop edx
test al, al
je 0x451e59
mov eax, dword [0x49c128]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
and dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x18]
mov edx, esp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
lea esi, [eax + 0x1c]
call fcn.0045498b
lea edi, [esp + 0xc0]
lea edx, [esp + 0x18]
mov ecx, edi
push 0x48d4f8
call fcn.0045436b
pop eax
mov dword [esp + 0x18], 0x48d520
mov dword [esp + 0x1c], 1
and dword [esp + 0x28], 0
mov dword [esp + 0x20], 4
and dword [esp + 0x24], 0
lea eax, [esp + 0x18]
mov dword [esp + 0x40], edi
lea edi, [esp + 0x30]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x48], 0x48d458
push eax
push esi
lea eax, [esp + 0x3c]
push eax
call fcn.0045b3ad
add esp, 0xc
mov eax, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, esp
movsd qword [esp], xmm0
push eax
mov eax, dword [0x49c128]
push dword [eax]
call fcn.0045fd95
pop eax
pop ecx
jmp 0x451e59
test ecx, ecx
jne 0x452436
mov ecx, dword [0x49c118]
call fcn.00401acd
test al, al
je 0x452436
movzx eax, al
push eax
mov eax, dword [0x49c118]
push dword [eax]
call fcn.0045fa60
pop ecx
pop edx
test al, al
je 0x452436
mov eax, dword [0x49c118]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
and dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x18]
mov edx, esp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
lea esi, [eax + 0x1c]
call fcn.0045498b
lea edi, [esp + 0xc0]
lea edx, [esp + 0x18]
mov ecx, edi
push 0x48d4e8
call fcn.0045436b
pop eax
mov dword [esp + 0x18], 0x48d4e0
mov dword [esp + 0x1c], 1
and dword [esp + 0x28], 0
mov dword [esp + 0x20], 4
and dword [esp + 0x24], 0
lea eax, [esp + 0x18]
mov dword [esp + 0x34], edi
lea edi, [esp + 0x30]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x3c], 0x48d458
push eax
push esi
lea eax, [esp + 0x58]
push eax
call fcn.0045b3ad
add esp, 0xc
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, esp
movsd qword [esp], xmm0
push eax
mov eax, dword [0x49c118]
jmp 0x45242d
mov eax, dword [0x49c1fc]
mov eax, dword [eax]
test eax, eax
jne 0x452436
mov ecx, dword [0x49c120]
call fcn.00401acd
test al, al
je 0x452436
movzx eax, al
push eax
mov eax, dword [0x49c120]
push dword [eax]
call fcn.0045fa60
pop ecx
pop edx
test al, al
je 0x452436
mov eax, dword [0x49c120]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
and dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x18]
mov edx, esp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
lea esi, [eax + 0x1c]
call fcn.0045498b
lea edi, [esp + 0xc0]
lea edx, [esp + 0x18]
mov ecx, edi
push 0x48d4c8
call fcn.0045436b
pop eax
mov dword [esp + 0x18], 0x48d4e0
mov dword [esp + 0x1c], 1
and dword [esp + 0x28], 0
mov dword [esp + 0x20], 4
and dword [esp + 0x24], 0
lea eax, [esp + 0x18]
mov dword [esp + 0x34], edi
lea edi, [esp + 0x30]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x3c], 0x48d458
push eax
push esi
lea eax, [esp + 0x58]
push eax
call fcn.0045b3ad
add esp, 0xc
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, esp
movsd qword [esp], xmm0
push eax
mov eax, dword [0x49c120]
push dword [eax]
call fcn.0045fd95
pop eax
pop ecx
push edi
call fcn.004548ef
pop eax
lea ecx, [esp + 0xa8]
call fcn.00403efb
jmp 0x451bb4
mov eax, dword [0x49c1fc]
mov eax, dword [eax]
test eax, eax
je 0x452499
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
mov ecx, esi
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
call fcn.00403efb
call fcn.0045a5f3
push eax
call fcn.0046b3cd
pop ecx
push ebx
call fcn.0046b334
pop eax
push edi
call fcn.004548ef
pop eax
jmp 0x451bb4
mov ecx, dword [0x49c124]
call fcn.00401acd
test al, al
je 0x452459
movzx eax, al
push eax
mov eax, dword [0x49c124]
push dword [eax]
call fcn.0045fa60
pop ecx
pop edx
test al, al
je 0x452459
mov eax, dword [0x49c124]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
and dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x18]
mov edx, esp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
lea esi, [eax + 0x1c]
call fcn.0045498b
lea edi, [esp + 0xc0]
lea edx, [esp + 0x18]
mov ecx, edi
push 0x48d494
call fcn.0045436b
pop eax
mov dword [esp + 0x18], 0x48d4c0
mov dword [esp + 0x1c], 1
and dword [esp + 0x28], 0
mov dword [esp + 0x20], 4
and dword [esp + 0x24], 0
lea eax, [esp + 0x18]
mov dword [esp + 0x34], edi
lea edi, [esp + 0x30]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x3c], 0x48d458
push eax
push esi
lea esi, [esp + 0x20]
lea eax, [esp + 0x58]
push eax
call fcn.0045b3ad
add esp, 0xc
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, esp
movsd qword [esp], xmm0
push eax
mov eax, dword [0x49c124]
push dword [eax]
call fcn.0045fd95
pop eax
pop ecx
jmp 0x452459
mov byte [esp + 0xa4], 1
push 0
push 0
push 0
push ebx
call fcn.0046b351
add esp, 0x10
mov eax, dword [0x49c1fc]
mov eax, dword [eax]
test eax, eax
je 0x4525d7
lea ecx, [esp + 0x60]
call fcn.004540f6
cmp dword [esp + 0xb8], 0
je 0x452692
lea ecx, [esp + 0xe0]
call fcn.00454044
mov ebx, dword [esp + 0x5c]
jmp 0x452698
mov esi, dword [0x49c110]
mov ecx, esi
call fcn.00401acd
test al, al
je 0x4525ab
movzx eax, al
push eax
push dword [esi]
call fcn.0045fa60
pop ecx
pop edx
test al, al
je 0x4525ab
mov eax, dword [esi]
mov edx, esp
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov esi, dword [eax + 0x28]
and dword [edx + 0x10], 0
mov dword [edx + 0x14], edi
mov dword [edx], ecx
mov dword [edx + 4], edi
lea edi, [esp + 0x18]
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
lea ebx, [eax + 0x1c]
mov ecx, edi
call fcn.0045498b
lea esi, [esp + 0xc0]
mov edx, edi
mov ecx, esi
push 0x48d440
call fcn.0045436b
pop eax
mov dword [edi], 0x48d450
mov dword [edi + 4], 1
and dword [edi + 0x10], 0
mov dword [edi + 8], 4
and dword [edi + 0xc], 0
lea eax, [esp + 0x40]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], 0x48d458
push eax
push ebx
lea esi, [esp + 0x3c]
push esi
call fcn.0045b3ad
add esp, 0xc
push esi
mov eax, dword [0x49c110]
push dword [eax]
call fcn.0045fd95
pop eax
pop ecx
jmp 0x4525ab
mov ebx, dword [esp + 0x5c]
inc dword [ebx]
xor ecx, ecx
test ebx, ebx
sete cl
call fcn.0045439b
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x48d880
call fcn.0047c5f0
push 0x48cea4
call fcn.0047c5f0
push 0x48cf6c
call fcn.0047c5f0
push 0x48cec4
call fcn.0047c5f0
push 0x48cf4c
call fcn.0047c5f0
push 0x48cf3c
call fcn.0047c5f0