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

Disassembly:
mov eax, dword [0x45e1854]
sub esp, 0x130
test eax, eax
push esi
push edi
jne 0x45cc7b
push 0xffffffffffffffff
push eax
push 0x1c8
push 0x21c
push 0x3c
push 0x15e
call fcn.00448610
add esp, 0x18
mov dword [0x45e1854], eax
pop edi
pop esi
add esp, 0x130
ret
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x45d496
mov esi, dword [eax + 0x1c]
mov edx, dword [0x54b5c0]
sub esi, 5
push ebx
mov ebx, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
lea ecx, [esi + 0x45]
push ebp
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x18]
push 1
push edx
mov edx, dword [eax + 0x14]
sub ecx, 0x1c
push 0x68
sub edx, 0x78
add ebx, 2
push ecx
push edx
mov dword [esp + 0x24], ebx
call fcn.0047e210
mov al, byte [0x4e220c]
mov ecx, 7
mov byte [esp + 0x30], al
xor eax, eax
lea edi, [esp + 0x31]
push 0x458ee10
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x34]
push 0x4a145c
push ecx
stosb byte es:[edi], al
call fcn.004923a7
lea edx, [esp + 0x3c]
push 0
push edx
push 4
lea eax, [esi + 0x32]
push 1
push eax
lea edi, [esp + 0x50]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x23
sub edx, ecx
lea eax, [ebx + edx*4]
push eax
call fcn.0041d860
mov al, byte [0x45f1a39]
add esp, 0x38
test al, al
jne 0x45cdce
mov eax, dword [0x458e9ec]
mov dword [0x45e5f70], 0x674c
cmp eax, 1
mov dword [0x45e5f74], 0x6749
mov dword [0x45967b4], 0x6750
mov dword [0x45e60a0], 0x6752
jne 0x45cdb0
mov al, byte [0x45f1a38]
mov dword [0x45e18b0], 0x6746
test al, al
je 0x45cd9a
mov edx, dword [0x4bd3cc]
mov ecx, dword [0x458e9e8]
cmp ecx, dword [edx*4 + 0x458ed48]
je 0x45cd9a
mov dword [0x4582cb0], 0x6740
mov dword [0x45e1954], 0x6743
jmp 0x45cdce
mov dword [0x4582cb0], 0x6742
mov dword [0x45e1954], 0x6745
jmp 0x45cdce
mov dword [0x4582cb0], 0x6742
mov dword [0x45e1954], 0x6745
mov dword [0x45e18b0], 0x6748
mov eax, dword [0x45e5f70]
push 2
lea edi, [esi + 0x14f]
push eax
lea ebp, [ebx + 0x46]
push 0x69
push edi
push ebp
call fcn.0047e210
mov ecx, dword [0x45e5f74]
push 2
push ecx
add ebx, 0xe6
push 0x69
push edi
push ebx
mov dword [0x45e855c], eax
call fcn.0047e210
mov edx, dword [0x4582cb0]
mov dword [0x45e8560], eax
mov eax, dword [esp + 0x38]
push 2
lea edi, [esi + 0x131]
push edx
push 0x69
add eax, 0x96
push edi
push eax
call fcn.0047e210
mov ecx, dword [0x45e1954]
push 2
push ecx
push 0x69
push edi
push ebx
mov dword [0x45e8564], eax
call fcn.0047e210
mov edx, dword [0x45e18b0]
add esp, 0x50
mov dword [0x45e8568], eax
push 2
push edx
push 0x69
push edi
push ebp
call fcn.0047e210
mov ecx, dword [0x45f1a40]
mov ebx, dword [esp + 0x28]
mov dword [0x45e856c], eax
mov eax, dword [esp + 0x24]
push 2
push 0x674f
add ecx, ebx
lea edi, [eax + 0x10b]
push 0x69
push ecx
push edi
call fcn.0047e210
mov edx, dword [0x45967b4]
push 2
push edx
add ebx, 0xffffffec
push 0x69
push ebx
push edi
mov dword [0x45e8570], eax
call fcn.0047e210
mov dword [0x45e8574], eax
mov eax, dword [0x45e60a0]
push 2
push eax
lea ecx, [esi + 0x112]
push 0x69
push ecx
push edi
call fcn.0047e210
add esp, 0x50
mov dword [0x45e8578], eax
xor ebp, ebp
lea ebx, [esi + 0x50]
mov edx, dword [0x45f1a48]
mov eax, dword [0x458e9f0]
add edx, ebp
dec eax
cmp eax, edx
jl 0x45d110
lea eax, [ebx - 3]
push 0x6b
lea ecx, [eax + 0x13]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 0xfa]
add ecx, 0x14
push edx
push eax
push ecx
call fcn.0044aba0
add esp, 0x14
test eax, eax
je 0x45d08b
test byte [0x45f1bc4], 1
je 0x45d08b
mov eax, dword [0x45f1a48]
mov esi, 0x462bef8
lea edi, [eax + ebp]
mov ecx, edi
shl ecx, 4
lea eax, [ecx + edi + 0x458e9f4]
mov dword [esp + 0x18], eax
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45cf57
test cl, cl
je 0x45cf53
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45cf57
add eax, 2
add esi, 2
test cl, cl
jne 0x45cf33
xor eax, eax
jmp 0x45cf5c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45cfa2
mov eax, edi
mov esi, 0x462bf09
shl eax, 5
lea eax, [eax + edi + 0x458ee30]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45cf95
test cl, cl
je 0x45cf91
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45cf95
add eax, 2
add esi, 2
test cl, cl
jne 0x45cf71
xor eax, eax
jmp 0x45cf9a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45d08b
cmp byte [0x45f1a38], 1
jne 0x45d027
cmp dword [0x4bd3cc], ebp
jne 0x45d027
mov edi, 0x4e220c
or ecx, 0xffffffff
xor eax, eax
push 0x45f1a18
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x45f1a18
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x54a4f4]
mov byte [ecx], 0
mov edx, dword [0x54a4f4]
mov byte [edx + 0x109], 0
mov eax, dword [0x54a4f4]
mov byte [eax + 0x107], 0
call fcn.004107f0
add esp, 4
mov byte [0x45f1a38], 0
mov dword [0x4bd3cc], 0xffffffff
mov dword [0x45f1a14], 0
jmp 0x45d0aa
mov ecx, dword [esp + 0x18]
push ecx
push 0x4b9664
push 0x45f1a18
call fcn.004923a7
mov edx, dword [0x54a4f4]
push 0x45f1a18
mov byte [edx], 0
mov eax, dword [0x54a4f4]
mov byte [eax + 0x109], 0
mov ecx, dword [0x54a4f4]
mov byte [ecx + 0x107], 0
call fcn.004107f0
mov edx, dword [0x45f1a48]
add esp, 0x10
add edx, ebp
mov byte [0x45f1a38], 1
mov dword [0x45f1a14], 1
mov dword [0x4bd3cc], edx
jmp 0x45d094
mov al, byte [0x45f1a38]
test al, al
je 0x45d0aa
mov eax, dword [0x45f1a48]
mov ecx, dword [0x4bd3cc]
add eax, ebp
mov esi, 4
cmp ecx, eax
je 0x45d0af
mov esi, 5
mov ecx, dword [0x45f1a48]
mov edi, dword [esp + 0x10]
push 0
lea eax, [ecx + ebp]
lea ecx, [edi + 0x1e]
mov edx, eax
shl edx, 4
lea eax, [edx + eax + 0x458e9f4]
push eax
push esi
push 1
push ebx
push ecx
call fcn.0041d860
mov edx, dword [0x45f1a48]
push 0
add edi, 0xa0
lea eax, [edx + ebp]
mov ecx, eax
shl ecx, 5
lea edx, [ecx + eax + 0x458ee30]
push edx
push esi
push 1
push ebx
push edi
call fcn.0041d860
add esp, 0x30
inc ebp
add ebx, 0x14
cmp ebp, 0xa
jl 0x45ceca
mov ecx, dword [0x4bd3cc]
mov edi, dword [0x458e9f0]
mov esi, dword [0x45f1a48]
xor ebx, ebx
mov ebp, 0x6753
mov edx, dword [0x458e9ec]
cmp ebx, 2
jne 0x45d14e
test edx, edx
jne 0x45d13f
mov ebx, 5
jmp 0x45d14e
cmp edx, 1
jne 0x45d14e
cmp ecx, 0xffffffff
jne 0x45d14e
mov ebx, 4
mov eax, dword [0x45f1bf0]
cmp eax, dword [ebx*4 + 0x45e855c]
jne 0x45d3e7
mov al, byte [0x45f1bc4]
test al, 1
je 0x45d290
cmp ebx, 7
ja case.default.0x45d176
jmp dword [ebx*4 + 0x45d4a0]
mov dword [0x45e5f70], 0x674d
mov dword [0x45f1a44], ebx
mov byte [0x45f1a39], 1
jmp 0x45d3e7
mov dword [0x45e5f74], 0x674a
mov dword [0x45f1a44], ebx
mov byte [0x45f1a39], 1
jmp 0x45d3e7
mov dword [0x4582cb0], 0x6741
mov dword [0x45f1a44], ebx
mov byte [0x45f1a39], 1
jmp 0x45d3e7
mov dword [0x45e1954], 0x6744
mov dword [0x45f1a44], ebx
mov byte [0x45f1a39], 1
jmp 0x45d3e7
mov dword [0x45e18b0], 0x6747
mov dword [0x45f1a44], ebx
mov byte [0x45f1a39], 1
jmp 0x45d3e7
mov byte [0x45f1a3c], 1
mov dword [0x45f1a44], ebx
mov byte [0x45f1a39], 1
jmp 0x45d3e7
test esi, esi
jle case.default.0x45d176
mov eax, 0xb7
add edi, 0xfffffff6
cdq
idiv edi
dec esi
mov dword [0x45967b4], 0x6751
mov dword [0x45f1a48], esi
imul eax, esi
mov dword [0x45f1a40], eax
jmp 0x45d278
lea edx, [esi + 0xa]
cmp edi, edx
jle case.default.0x45d176
cmp edi, 0xa
jle case.default.0x45d176
mov eax, 0xb7
add edi, 0xfffffff6
cdq
idiv edi
inc esi
mov dword [0x45e60a0], ebp
mov dword [0x45f1a48], esi
imul eax, esi
mov dword [0x45f1a40], eax
mov edi, dword [0x458e9f0]
mov dword [0x45f1a44], ebx
mov byte [0x45f1a39], 1
jmp 0x45d3e7
test al, 4
je 0x45d3e7
cmp ebx, 4
ja case.default.0x45d2a1
jmp dword [ebx*4 + 0x45d4c0]
call fcn.0044ac50
jmp case.default.0x45d2a1
cmp edx, 1
jne 0x45d2cb
push 6
push 0x4c23a4
call fcn.004115c0
add esp, 8
jmp case.default.0x45d2a1
mov eax, dword [0x461b404]
push 0x4c23a0
push eax
call fcn.00490290
mov edi, 0x4e220c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x46308ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0044ac50
push 3
push 0x4c2390
call fcn.004115c0
add esp, 0x10
jmp 0x45d3b8
mov eax, dword [ecx*4 + 0x458ed48]
lea ecx, [esp + 0x3c]
push eax
push str.K_d
push ecx
call fcn.004923a7
mov eax, dword [0x461b404]
lea edx, [esp + 0x48]
push edx
push eax
call fcn.00490290
add esp, 0x14
jmp case.default.0x45d2a1
mov ecx, dword [ecx*4 + 0x458ed48]
lea edx, [esp + 0x3c]
push ecx
push str.M_d
push edx
call fcn.004923a7
mov ecx, dword [0x461b404]
lea eax, [esp + 0x48]
push eax
push ecx
call fcn.00490290
add esp, 0x14
mov dword [0x45f1a14], 0
jmp case.default.0x45d2a1
mov edx, dword [0x461b404]
push 0x4c237c
push edx
call fcn.00490290
mov edi, 0x4e220c
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x46308ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
and word [0x462bf30], 0xfbff
mov dword [0x45f1a14], 0
mov edi, dword [0x458e9f0]
mov esi, dword [0x45f1a48]
or ecx, 0xffffffff
mov byte [0x45f1a38], 0
mov dword [0x4bd3cc], ecx
inc ebx
cmp ebx, 8
jl 0x45d129
mov eax, dword [0x45f1bc4]
pop ebp
and eax, 4
pop ebx
jne 0x45d412
mov edx, dword [0x45f1a44]
mov ecx, dword [0x45f1bf0]
cmp ecx, dword [edx*4 + 0x45e855c]
je 0x45d419
mov byte [0x45f1a39], 0
test eax, eax
jne 0x45d42b
mov eax, dword [esp + 8]
mov ecx, dword [0x45f1b98]
cmp ecx, eax
jge 0x45d43b
pop edi
mov byte [0x45f1a3c], 0
pop esi
add esp, 0x130
ret
mov al, byte [0x45f1a3c]
test al, al
je 0x45d496
mov eax, dword [esp + 0xc]
mov ecx, dword [0x45f1b9c]
lea edx, [eax - 2]
cmp ecx, edx
jle 0x45d496
lea edx, [eax + 0xbb]
cmp ecx, edx
jge 0x45d496
cmp edi, 0xa
jle 0x45d48c
sub ecx, eax
mov eax, 0xb7
cdq
add edi, 0xfffffff6
mov dword [0x45f1a40], ecx
idiv edi
pop edi
mov esi, eax
mov eax, ecx
cdq
idiv esi
pop esi
mov dword [0x45f1a48], eax
add esp, 0x130
ret
mov dword [0x45f1a40], 0
pop edi
pop esi
add esp, 0x130
ret