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

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, dword [esp + 0xb0]
add eax, edx
push ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb8]
push esi
mov esi, dword [esp + 0xb4]
mov ebp, dword [esi + 0x7370]
push edi
mov edi, dword [esi + 0x72b0]
add eax, ebx
mov dword [esp + 0x70], edi
mov edi, dword [esi + 0x72b4]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x7380]
add eax, ebp
mov dword [esp + 0x88], edi
mov edi, dword [esi + 0x72b8]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], edi
test ecx, ecx
je 0x45d3dd
mov edi, dword [esp + 0x10]
mov dword [esi + 0x7304], 1
mov ecx, dword [esi + 0x682c]
mov eax, dword [esi + 0x6830]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x6834]
mov dword [esp + 0x58], ecx
sub edi, edx
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], eax
call fcn.0045ef30
cmp eax, 0xffffff88
jbe 0x45ccd1
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0x28]
mov edi, dword [esi]
mov edx, dword [edi + 4]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6d3ed0]
mov dword [esp + 0x38], eax
call fcn.0044fc10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
add edi, 8
mov dword [esp + 0x3c], edi
mov edi, dword [esi + 8]
mov edx, dword [edi + 4]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6d3ed0]
mov dword [esp + 0x40], eax
call fcn.0044fc10
mov eax, dword [esp + 0x28]
mov esi, dword [esi + 4]
mov edx, dword [esi + 4]
add edi, 8
mov dword [esp + 0x44], edi
lea edi, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, edi
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], edi
and eax, dword [edx*4 + 0x6d3ed0]
mov dword [esp + 0x48], eax
call fcn.0044fc10
lea eax, [esi + 8]
mov dword [esp + 0x4c], eax
jmp 0x45cd80
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + ecx*8 + 4]
mov ebp, dword [eax + ecx*8]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x40]
mov eax, dword [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 4]
mov dword [esp + 0xac], eax
mov ecx, esi
mov ebx, ebp
shr ecx, 0x10
shr eax, 0x10
shr ebx, 0x10
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], ebp
mov byte [esp + 0x1b], cl
cmp al, 1
jbe 0x45ce94
cmp dword [esp + 0xc4], 0
je 0x45ce56
cmp al, 0x19
jb 0x45ce56
mov edi, dword [esp + 0x28]
mov ecx, 0x20
movzx eax, al
sub ecx, edi
cmp eax, ecx
jae 0x45ce01
mov ecx, eax
mov ebp, dword [esp + 0x24]
mov esi, eax
sub esi, ecx
mov ecx, edi
and ecx, 0x1f
shl ebp, cl
sub eax, esi
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
mov ecx, esi
add edi, eax
mov dword [esp + 0x28], edi
shl ebp, cl
lea ecx, [esp + 0x24]
add ebp, edx
call fcn.0044fc10
test esi, esi
je 0x45ce82
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, esi
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, esi
mov dword [esp + 0x28], edx
add ebp, eax
jmp 0x45ce82
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
movzx eax, al
mov ecx, esi
and ecx, 0x1f
shl ebp, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
add esi, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], esi
add ebp, edx
call fcn.0044fc10
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
jmp 0x45cf00
xor ecx, ecx
cmp dword [esp + 0x78], ecx
sete cl
mov esi, ecx
test al, al
jne 0x45cebb
test esi, esi
jne 0x45cead
mov ebp, dword [esp + 0x50]
jmp 0x45cf04
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x54], edx
jmp 0x45cf00
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edi
and ecx, 0x1f
shl eax, cl
inc edi
mov dword [esp + 0x28], edi
shr eax, 0x1f
add eax, esi
mov esi, dword [esp + 0x50]
add eax, edx
lea ebp, [esi - 1]
cmp eax, 3
je 0x45cee6
mov ebp, dword [esp + eax*4 + 0x50]
xor ecx, ecx
test ebp, ebp
sete cl
add ebp, ecx
cmp eax, 1
je 0x45cefc
mov edx, dword [esp + 0x54]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebp
mov edi, dword [esp + 0x84]
test bl, bl
jbe 0x45cf35
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
movzx edx, bl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
mov ecx, edi
mov dword [esp + 0x28], esi
lea edi, [eax + ecx]
movzx eax, byte [esp + 0x1b]
movzx edx, bl
add edx, eax
cmp edx, 0x14
mov dword [esp + 0x10], eax
jl 0x45cf51
lea ecx, [esp + 0x24]
call fcn.0044fc10
cmp byte [esp + 0x1b], 0
mov edx, dword [esp + 0x78]
mov esi, edx
jbe 0x45cf82
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, ebx
and ecx, 0x1f
shl esi, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr esi, cl
add ebx, eax
mov dword [esp + 0x28], ebx
add esi, edx
lea ecx, [esp + 0x24]
call fcn.0044fc10
movzx ebx, byte [esp + 0x77]
mov eax, dword [esp + 0x28]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
neg ecx
and ecx, 0x1f
mov edx, eax
shr edx, cl
movzx ecx, word [esp + 0x74]
and edx, dword [ebx*4 + 0x6d3ed0]
add ecx, edx
movzx edx, byte [esp + 0x83]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x10]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6d3ed0]
movzx edx, word [esp + 0x80]
add edx, eax
mov dword [esp + 0x48], edx
call fcn.0044fc10
movzx edx, byte [esp + 0xaf]
mov eax, dword [esp + 0x28]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, word [esp + 0xac]
and eax, dword [edx*4 + 0x6d3ed0]
mov edx, dword [esp + 0xa0]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], ebx
lea ebx, [esi + eax]
lea ecx, [esi + edi]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
lea ecx, [esi + edx]
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa8], ecx
cmp ecx, dword [esp + 0x6c]
ja 0x45d323
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ecx, edx
mov edx, dword [esp + 0x20]
add edx, 0xffffffe0
cmp ecx, edx
ja 0x45d323
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
sub ecx, dword [esp + 0x1c]
add edx, 0x20
cmp ecx, edx
jb 0x45d323
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
cmp esi, 0x10
jbe 0x45d15f
mov edx, dword [esp + 0x14]
add esi, 0xfffffff0
add ecx, 0x10
mov dword [esp + 0x90], esi
add esi, ecx
add edx, 0x10
cmp dword [esp + 0x90], 0x10
mov dword [esp + 0x14], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
jle 0x45d15f
add ecx, 0x10
add edx, 0x10
lea esp, [esp]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add edx, 0x10
cmp ecx, dword [esp + 0x14]
jb 0x45d120
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0xa8]
mov edx, ebx
sub edx, esi
mov dword [esp + 0x14], ecx
cmp ebp, edx
jbe 0x45d1c7
mov ecx, ebx
sub ecx, dword [esp + 0x88]
cmp ebp, ecx
jbe 0x45d18d
mov esi, 0xffffffec
jmp 0x45d368
mov ebp, dword [esp + 0x7c]
mov edx, ebp
sub edx, esi
add eax, edx
lea ecx, [eax + edi]
cmp ecx, ebp
ja 0x45d1b2
push edi
push eax
push ebx
call fcn.005e6110
mov esi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x45d368
sub ebp, eax
push ebp
push eax
push ebx
call fcn.005e6110
add esp, 0xc
add ebx, ebp
sub edi, ebp
mov eax, esi
jmp 0x45d1ce
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
cmp esi, 0x10
jb 0x45d246
cmp edi, 0x10
mov ecx, dword [eax]
mov dword [ebx], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0xc]
lea edx, [edi + ebx]
mov dword [ebx + 0xc], ecx
jle 0x45d23d
lea ecx, [ebx + 0x10]
add eax, 0x10
mov edi, edi
mov esi, dword [eax]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x45d200
mov esi, dword [esp + 0x10]
jmp 0x45d368
cmp esi, 8
jae 0x45d279
movzx edx, byte [eax]
mov ebp, dword [esi*4 + 0x6d4970]
mov byte [ebx], dl
movzx ecx, byte [eax + 1]
mov byte [ebx + 1], cl
movzx edx, byte [eax + 2]
mov byte [ebx + 2], dl
movzx ecx, byte [eax + 3]
mov byte [ebx + 3], cl
add eax, dword [esi*4 + 0x6d4950]
mov edx, dword [eax]
sub eax, ebp
jmp 0x45d280
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
cmp edi, 8
jbe 0x45d31d
lea ecx, [eax + 8]
lea edx, [edi - 8]
lea eax, [ebx + 8]
mov edi, eax
sub edi, ecx
cmp edi, 0x10
lea esi, [eax + edx]
jge 0x45d2bf
sub ecx, eax
mov edx, dword [eax + ecx]
mov dword [eax], edx
mov edx, dword [eax + ecx + 4]
mov dword [eax + 4], edx
add eax, 8
cmp eax, esi
jb 0x45d2a3
mov esi, dword [esp + 0x10]
jmp 0x45d368
cmp edx, 0x10
mov edi, dword [ecx]
mov dword [eax], edi
mov edi, dword [ecx + 4]
mov dword [eax + 4], edi
mov edi, dword [ecx + 8]
mov dword [eax + 8], edi
mov edi, dword [ecx + 0xc]
mov dword [eax + 0xc], edi
jle 0x45d31d
add eax, 0x10
add ecx, 0x10
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
add eax, 0x10
add ecx, 0x10
cmp eax, esi
jb 0x45d2e0
mov esi, dword [esp + 0x10]
jmp 0x45d368
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
mov edx, dword [esp + 0xac]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x34]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ebp
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x40]
call fcn.0045cb10
add esp, 0x24
mov esi, eax
lea ecx, [esp + 0x24]
call fcn.0044fc10
add dword [esp + 0x1c], esi
cmp esi, 0xffffff88
ja 0x45d38d
sub dword [esp + 0x8c], 1
je 0x45d39a
mov eax, dword [esp + 0x4c]
jmp 0x45cd80
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
lea ecx, [esp + 0x24]
call fcn.0044fc10
cmp eax, 2
jl 0x45ccc1
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x682c], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x6830], edx
mov dword [eax + 0x6834], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
sub eax, ebp
mov esi, eax
sub ecx, ebx
cmp esi, ecx
jbe 0x45d3fb
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
test ebx, ebx
je 0x45d40c
push esi
push ebp
push ebx
call fcn.005e47d0
add esp, 0xc
add ebx, esi
sub ebx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xa4
ret