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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x62db2d
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
mov eax, dword [0x6cd400]
xor eax, esp
mov dword [esp + 0x2e0], eax
push ebx
push esi
push edi
mov eax, dword [0x6cd400]
xor eax, esp
push eax
lea eax, [esp + 0x2f8]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [case.0x79a990.0]
mov esi, dword [ebp + 8]
test al, 1
jne 0x457844
or eax, 1
mov dword [case.0x79a990.0], eax
mov dword [esp + 0x300], 0
push ecx
call fcn.004015a0
call fcn.0042d900
push 0x639710
call fcn.005e9ef6
add esp, 4
mov dword [esp + 0x300], 0xffffffff
mov eax, dword [0x6d66e8]
push 0x67f4c4
push 0x6d66e8
call dword [eax + 4]
mov eax, dword [edi + 4]
movsd xmm0, qword [0x68fe60]
lea ecx, [edi + 0x18]
add esp, 8
mov dword [edi + 0x38], 0
movsd qword [eax + 0x460], xmm0
mov dword [edi + 0x30], 1
cmp ecx, esi
je 0x45788b
push 0xffffffffffffffff
push 0
push esi
call fcn.00403b10
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004a23a0
mov dword [esp + 0x300], 1
push esi
lea ecx, [esp + 0x18]
call fcn.004a2420
xor eax, eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov byte [esp + 0x300], 2
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf0], 7
mov dword [esp + 0xec], eax
mov word [esp + 0xdc], ax
mov byte [esp + 0x300], 3
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa8], 7
mov dword [esp + 0xa4], eax
mov word [esp + 0x94], ax
mov byte [esp + 0x300], 4
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd8], 7
mov dword [esp + 0xd4], eax
mov word [esp + 0xc4], ax
mov byte [esp + 0x300], 5
push 0x13
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
push 0x67f5a0
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], eax
mov word [esp + 0x34], ax
call fcn.00403c30
mov byte [esp + 0x300], 6
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x1c]
call fcn.004a2760
mov byte [esp + 0x300], 5
cmp dword [esp + 0x40], 8
jb 0x4579e3
push dword [esp + 0x2c]
call fcn.004c56c2
add esp, 4
xor eax, eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
call fcn.00499890
mov dword [edi + 0x7c], eax
push 0x13
xor eax, eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
push 0x67f578
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
call fcn.00403c30
mov byte [esp + 0x300], 7
lea ebx, [edi + 0x80]
push ebx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x1c]
call fcn.004a2760
mov byte [esp + 0x300], 5
cmp dword [esp + 0x60], 8
jb 0x457a75
push dword [esp + 0x4c]
call fcn.004c56c2
add esp, 4
sub esp, 0x18
mov ecx, esp
xor eax, eax
mov dword [esp + 0x28], esp
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], eax
push ebx
mov dword [esp + 0x84], 7
mov dword [esp + 0x80], 0
mov word [esp + 0x70], ax
mov word [ecx], ax
call fcn.00403b10
mov byte [esp + 0x318], 8
mov eax, dword [case.0x79a990.0]
test al, 1
jne 0x457af2
or eax, 1
mov dword [case.0x79a990.0], eax
mov byte [esp + 0x318], 9
push ecx
call fcn.004015a0
call fcn.0042d900
push 0x639710
call fcn.005e9ef6
add esp, 4
mov byte [esp + 0x318], 8
mov byte [esp + 0x318], 5
mov ecx, 0x6d65f0
call fcn.00436430
test al, al
jne 0x457bdb
mov eax, dword [case.0x79a990.0]
test al, 1
jne 0x457b45
or eax, 1
mov dword [case.0x79a990.0], eax
mov byte [esp + 0x300], 0xa
push ecx
call fcn.004015a0
call fcn.0042d900
push 0x639710
call fcn.005e9ef6
add esp, 4
mov byte [esp + 0x300], 5
cmp dword [ebx + 0x14], 8
jb 0x457b4d
mov ebx, dword [ebx]
mov eax, dword [edi + 4]
add eax, 0x34
cmp dword [eax + 0x14], 8
jb 0x457b5b
mov eax, dword [eax]
push ebx
push eax
mov eax, dword [0x6d66e8]
push 0x67f5f8
push 0x67f5c8
push 0x6d66e8
call dword [eax + 0x24]
add esp, 0x14
lea ecx, [esp + 0x4c]
call fcn.004ab470
mov byte [esp + 0x300], 0xb
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
mov dword [esp + 0x50], 0xfffffffc
mov dword [esp + 0x74], 2
call fcn.00458fd0
mov byte [esp + 0x300], 5
cmp dword [esp + 0x68], 8
jb 0x457bbf
push dword [esp + 0x54]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jmp 0x4583f9
push 0x67f6c8
lea ecx, [esp + 0x50]
call fcn.004035b0
mov byte [esp + 0x300], 0xd
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x1c]
call fcn.004a2760
mov byte [esp + 0x300], 5
cmp dword [esp + 0x60], 8
jb 0x457c22
push dword [esp + 0x4c]
call fcn.004c56c2
add esp, 4
xor eax, eax
lea ecx, [esp + 0xdc]
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
call fcn.00499890
push 0x67f678
lea ecx, [esp + 0x50]
mov dword [edi + 0x98], eax
call fcn.004035b0
mov byte [esp + 0x300], 0xe
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x1c]
call fcn.004a2760
mov byte [esp + 0x300], 5
cmp dword [esp + 0x60], 8
jb 0x457c92
push dword [esp + 0x4c]
call fcn.004c56c2
add esp, 4
xor eax, eax
cmp dword [esp + 0xa8], 8
mov word [esp + 0x4c], ax
lea eax, [esp + 0x94]
cmovae eax, dword [esp + 0x94]
push eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
call fcn.005eaf27
add esp, 4
lea ecx, [esp + 0x4c]
push 0x67f748
mov dword [edi + 0x9c], eax
call fcn.004035b0
mov byte [esp + 0x300], 0xf
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x1c]
call fcn.004a2760
mov byte [esp + 0x300], 5
cmp dword [esp + 0x60], 8
jb 0x457d16
push dword [esp + 0x4c]
call fcn.004c56c2
add esp, 4
xor eax, eax
lea ecx, [esp + 0xc4]
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
call fcn.00499890
push 0x67f714
lea ecx, [esp + 0x50]
mov dword [edi + 0xa0], eax
mov dword [esp + 0x24], 0
call fcn.004035b0
mov byte [esp + 0x300], 0x10
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
call fcn.004a2ad0
mov byte [esp + 0x300], 0x12
cmp dword [esp + 0x60], 8
jb 0x457d8b
push dword [esp + 0x4c]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov word [esp + 0x4c], ax
mov eax, dword [edi + 4]
add eax, 0x440
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, esp
mov dword [esp + 0x68], 7
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x64], 0
mov dword [esp + 0x18], esp
test eax, eax
je 0x457dc6
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov byte [esp + 0x308], 0x13
mov byte [esp + 0x308], 0x12
lea ecx, [esp + 0x1c]
call fcn.004a3bf0
push 0x67f820
lea ecx, [esp + 0x50]
mov dword [esp + 0x28], 0
call fcn.004035b0
mov byte [esp + 0x300], 0x14
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x20]
call fcn.004a2d40
mov byte [esp + 0x300], 0x16
cmp dword [esp + 0x60], 8
jb 0x457e30
push dword [esp + 0x4c]
call fcn.004c56c2
add esp, 4
xor eax, eax
xor esi, esi
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
cmp dword [esp + 0x28], eax
jle 0x4580a6
mov eax, dword [esp + 0x24]
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x24], 0
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], esp
test eax, eax
je 0x457e77
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov byte [esp + 0x308], 0x17
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x30c], 0x16
lea ecx, [esp + 0x20]
call fcn.004a2f40
mov byte [esp + 0x300], 0x18
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x78], 0
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], esp
test eax, eax
je 0x457ec0
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov byte [esp + 0x304], 0x19
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0x308], 0x18
lea ecx, [esp + 0x1c]
call fcn.004a3120
mov byte [esp + 0x300], 0x1a
push 0xd
xor eax, eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
push 0x67ba8c
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
call fcn.00403c30
mov byte [esp + 0x300], 0x1b
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x78]
call fcn.00417cd0
cmp dword [eax + 0x14], 8
jb 0x457f3b
mov eax, dword [eax]
push eax
call fcn.005eaf27
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x300], 0x1a
cmp dword [esp + 0x60], 8
jb 0x457f63
push dword [esp + 0x4c]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], ax
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], eax
mov byte [esp + 0xac], al
mov byte [esp + 0x300], 0x1c
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x457fcc
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov byte [esp + 0x308], 0x1d
mov byte [esp + 0x308], 0x1c
lea ecx, [esp + 0x1c]
call fcn.004a3d50
lea eax, [esp + 0x10]
push eax
lea ecx, [edi + 0xa4]
call fcn.0042a0a0
lea ecx, [esp + 0xac]
cmp eax, ecx
je 0x45800c
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.00403d90
mov byte [esp + 0x300], 0x1a
cmp dword [esp + 0xc0], 0x10
jb 0x45802d
push dword [esp + 0xac]
call fcn.004c56c2
add esp, 4
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], 0
mov byte [esp + 0xac], 0
mov byte [esp + 0x300], 0x1f
mov eax, dword [esp + 0x74]
push eax
push dword [eax]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x80]
call fcn.0040cef0
mov byte [esp + 0x300], 0x18
push dword [esp + 0x74]
call fcn.004c56c2
add esp, 4
mov byte [esp + 0x300], 0x16
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x458095
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc esi
cmp esi, dword [esp + 0x28]
jl 0x457e53
lea ebx, [edi + 0x80]
mov eax, dword [case.0x79a990.0]
test al, 1
jne 0x4580df
or eax, 1
mov dword [case.0x79a990.0], eax
mov byte [esp + 0x300], 0x22
push ecx
call fcn.004015a0
call fcn.0042d900
push 0x639710
call fcn.005e9ef6
add esp, 4
mov byte [esp + 0x300], 0x16
cmp dword [ebx + 0x14], 8
jb 0x4580e9
mov ecx, dword [ebx]
jmp 0x4580eb
mov ecx, ebx
cmp dword [esp + 0x90], 8
push ecx
lea eax, [esp + 0x80]
cmovae eax, dword [esp + 0x80]
push eax
mov eax, dword [0x6d66e8]
push 0x67f7a0
push 0x6d66e8
call dword [eax + 4]
add esp, 0x10
lea ecx, [esp + 0xf4]
call fcn.00449980
mov byte [esp + 0x300], 0x23
lea eax, [esp + 0xf4]
cmp eax, ebx
je 0x458144
push 0xffffffffffffffff
push 0
push ebx
mov ecx, eax
call fcn.00403b10
lea eax, [edi + 0x3c]
lea ecx, [esp + 0x10c]
cmp ecx, eax
je 0x45815c
push 0xffffffffffffffff
push 0
push eax
call fcn.00403b10
lea ecx, [esp + 0x124]
call fcn.00423ed0
mov eax, dword [case.0x79a990.0]
lea esi, [edi + 0x78]
mov dword [esi], 0
test al, 1
jne 0x4581aa
or eax, 1
mov dword [case.0x79a990.0], eax
mov byte [esp + 0x300], 0x24
push ecx
call fcn.004015a0
call fcn.0042d900
push 0x639710
call fcn.005e9ef6
add esp, 4
mov byte [esp + 0x300], 0x23
push esi
push 0x6d7024
call fcn.004ab660
add esp, 8
lea ecx, [esp + 0x24c]
call fcn.004ab380
mov byte [esp + 0x300], 0x25
mov eax, dword [edi + 0x98]
mov dword [esp + 0x2b0], eax
lea eax, [esp + 0x24c]
push eax
lea ecx, [esp + 0x1a8]
call fcn.0044bb80
mov ecx, dword [edi + 0x78]
lea esi, [edi + 8]
push esi
push 8
call fcn.004ab850
mov ecx, dword [edi + 0x78]
push esi
push 2
call fcn.004ab850
mov ecx, dword [edi + 0x78]
push esi
push 7
call fcn.004ab850
mov ecx, dword [edi + 0x78]
push esi
push 4
call fcn.004ab850
mov ecx, dword [edi + 0x78]
lea eax, [esp + 0xf4]
push eax
call fcn.004ab830
mov ecx, dword [edi + 4]
add ecx, 0x428
lea eax, [edi + 0x3c]
cmp ecx, eax
je 0x458246
push 0xffffffffffffffff
push 0
push eax
call fcn.00403b10
push ecx
mov ecx, dword [edi + 4]
add ecx, 0x428
lea edx, [esp + 0x128]
call fcn.004a0a50
add esp, 4
mov dword [edi + 0xb8], 0
push 0
mov dword [edi + 0xbc], 0
call fcn.005ec8f4
mov ecx, dword [edi + 0x78]
add esp, 4
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
call fcn.004ab880
mov dword [esp + 0x10], eax
test eax, eax
je 0x458357
mov ecx, dword [case.0x79a990.0]
test cl, 1
jne 0x4582d7
or ecx, 1
mov dword [case.0x79a990.0], ecx
mov byte [esp + 0x300], 0x26
push ecx
call fcn.004015a0
call fcn.0042d900
push 0x639710
call fcn.005e9ef6
add esp, 4
mov byte [esp + 0x300], 0x25
mov eax, dword [esp + 0x10]
cmp dword [ebx + 0x14], 8
jb 0x4582df
mov ebx, dword [ebx]
push eax
mov eax, dword [0x6d66e8]
push ebx
push 0x67f8a8
push 0x676964
push 0x6d66e8
call dword [eax + 0x24]
add esp, 0x14
lea ecx, [esp + 0x4c]
call fcn.004ab470
mov byte [esp + 0x300], 0x27
mov ecx, dword [edi + 0x78]
lea eax, [esp + 0x4c]
push eax
call fcn.004ab820
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.00458fd0
mov byte [esp + 0x300], 0x25
cmp dword [esp + 0x68], 8
jb 0x458340
push dword [esp + 0x54]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
mov eax, dword [case.0x79a990.0]
test al, 1
jne 0x458390
or eax, 1
mov dword [case.0x79a990.0], eax
mov byte [esp + 0x300], 0x29
push ecx
call fcn.004015a0
call fcn.0042d900
push 0x639710
call fcn.005e9ef6
add esp, 4
mov byte [esp + 0x300], 0x25
mov eax, dword [0x6d66e8]
push 0x67f990
push 0x6d66e8
call dword [eax + 4]
add esp, 8
mov byte [esp + 0x300], 0x23
lea ecx, [esp + 0x24c]
call fcn.00449a80
mov byte [esp + 0x300], 0x16
lea ecx, [esp + 0xf4]
call fcn.0044b9f0
mov byte [esp + 0x300], 0x12
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4583e3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x300], 5
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4583f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [esp + 0x300], 4
cmp dword [esp + 0xd8], 8
jb 0x45841a
push dword [esp + 0xc4]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [esp + 0xd8], 7
mov dword [esp + 0xd4], 0
mov word [esp + 0xc4], ax
mov byte [esp + 0x300], 3
cmp dword [esp + 0xa8], 8
jb 0x45845b
push dword [esp + 0x94]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [esp + 0xa8], 7
mov dword [esp + 0xa4], 0
mov word [esp + 0x94], ax
mov byte [esp + 0x300], 2
cmp dword [esp + 0xf0], 8
jb 0x45849c
push dword [esp + 0xdc]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [esp + 0xf0], 7
mov dword [esp + 0xec], 0
mov word [esp + 0xdc], ax
mov byte [esp + 0x300], 1
cmp dword [esp + 0x90], 8
jb 0x4584da
push dword [esp + 0x7c]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov dword [esp + 0x300], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.004a2410
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2e0]
xor ecx, esp
call fcn.005e96ad
mov esp, ebp
pop ebp
ret 4