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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x80]
cmp eax, dword [ecx + 8]
jbe 0x452ed3
sub esp, 0x100
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
test ebx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x452e77
mov ebp, dword [ecx + 8]
test ebp, ebp
jne 0x452e6b
mov esi, dword [esp + 0x10c]
mov eax, ecx
mov ecx, dword [esi + 4]
mov edi, ebp
mov ebp, dword [esi]
cmp ebp, edx
sete dl
cmp ecx, ebx
sete bl
and ebx, edx
test bl, bl
je 0x452e5f
mov edx, dword [esi + 8]
cmp edx, edi
jne 0x452e53
movzx ebx, byte [esi + 0xc]
movzx esi, byte [eax + 0xc]
xchg esi, eax
cmp al, bl
xchg esi, eax
jne 0x452e47
mov byte [esp + 0x33], bl
mov esi, dword [esp + 0x110]
mov ebx, dword [esi]
cmp ebx, ebp
sete bl
mov ebp, dword [esi + 4]
cmp ebp, ecx
sete cl
and ecx, ebx
test cl, cl
je 0x4525d2
mov ecx, dword [esi + 8]
cmp ecx, edx
jne 0x4525d2
movzx ecx, byte [esi + 0xc]
movzx edx, byte [esp + 0x33]
cmp cl, dl
jne 0x4525d2
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.004485ca
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov eax, 0x17
jmp 0x4524bc
mov byte [esp + ebp + 0xe4], dl
dec ebp
mov ecx, dword [esp + 0x104]
mov edx, ebx
mov ebx, eax
mov eax, ebp
test edx, edx
xchg ebp, ebx
seta bl
xchg ebp, ebx
test ebx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
test ebx, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x452531
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.00443a60
mov eax, dword [esp + 0x10]
mov ecx, 0xa
mov ebx, eax
mul ecx
mov edx, dword [esp + 0x34]
sub edx, eax
add edx, 0x30
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x48]
cmp ebp, 0x18
jb 0x4524a7
jmp 0x452ecc
lea edx, [eax - 0x17]
neg edx
mov ebx, dword [esp + 0x108]
xor ebp, ebp
jmp 0x452557
xchg edi, eax
mov byte [ecx + ebp], al
xchg edi, eax
inc ebp
mov esi, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov ebx, esi
cmp ebp, edx
jge 0x452585
lea esi, [eax + ebp + 1]
lea edi, [eax + ebp]
cmp esi, 0x18
jae 0x452ec5
mov esi, dword [ebx + 4]
mov ecx, dword [ebx]
lea ebx, [esp + 0xe4]
movzx edi, byte [edi + ebx + 1]
cmp ebp, esi
jb 0x452541
jmp 0x452ec5
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
jmp 0x452590
mov dword [ebx + 0xc], esi
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x4525b3
mov edx, dword [ebx + 4]
mov ebp, dword [ebx]
lea esi, [eax - 1]
cmp esi, edx
jae 0x452ebe
movzx edx, byte [eax + ebp - 1]
cmp dl, 0x30
je 0x45258d
test eax, eax
jne 0x4525bc
mov dword [ebx + 0x10], 0
movzx eax, byte [ecx + 0xc]
mov byte [ebx + 0x14], al
mov byte [esp + 0x114], 1
add esp, 0x100
ret
mov dword [esp], esi
call fcn.00451740
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x110]
mov ebx, dword [edx + 8]
cmp ecx, ebx
jle 0x452662
mov ebp, dword [eax]
mov dword [esp + 0xa8], ebp
mov esi, dword [eax + 4]
sub ecx, ebx
mov dword [esp + 0xa4], ecx
mov ebx, ebp
shl ebp, cl
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
mov dword [eax], ebp
lea ebp, [ecx - 0x20]
mov dword [esp + 0xa0], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ecx, ebp
shr ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
shl ebp, cl
cmp ecx, 0x20
mov ecx, edx
sbb edx, edx
and ebp, edx
mov edx, ecx
mov ecx, dword [esp + 0xa4]
shl esi, cl
and esi, edi
or esi, ebx
or ebp, esi
mov dword [eax + 4], ebp
mov ebx, dword [edx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x10c]
mov ecx, dword [ebx + 8]
mov ebp, dword [edx + 8]
cmp ecx, ebp
jle 0x452e40
mov esi, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esp + 0xa8], edi
sub ecx, ebp
mov dword [esp + 0xa4], ecx
mov ebp, edi
shl edi, cl
cmp ecx, 0x20
sbb eax, eax
and edi, eax
mov dword [ebx], edi
lea edi, [ecx - 0x20]
mov ecx, edi
shl ebp, cl
cmp ecx, 0x20
sbb edx, edx
and ebp, edx
neg ecx
mov edx, dword [esp + 0xa8]
shr edx, cl
cmp ecx, 0x20
sbb edi, edi
and edx, edi
mov ecx, dword [esp + 0xa4]
shl esi, cl
and esi, eax
or esi, edx
or ebp, esi
mov dword [ebx + 4], ebp
mov eax, dword [esp + 0x110]
mov edx, dword [eax + 8]
mov dword [ebx + 8], edx
mov dword [esp], ebx
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00451a60
mov eax, dword [esp + 0x110]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [esp + 0xc]
mov dword [esp + 0x68], edx
mov ebx, dword [eax + 4]
mov dword [eax], ecx
adc ebx, 0
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x10c]
mov ebx, dword [ecx]
add ebx, 0xffffffff
mov ebp, dword [ecx + 4]
mov dword [ecx], ebx
adc ebp, 0xffffffff
mov dword [esp + 0x9c], ebp
mov dword [ecx + 4], ebp
mov ecx, dword [eax + 8]
neg ecx
mov dword [esp + 0xa4], ecx
mov esi, dword [eax]
mov dword [esp + 0xa8], esi
mov eax, dword [eax + 4]
mov dword [esp + 0xa0], eax
mov edi, esi
shr esi, cl
lea edx, [ecx - 0x20]
mov dword [esp + 0x98], edx
neg edx
mov dword [esp + 0x94], edx
mov ecx, edx
shl eax, cl
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x90], ebp
and eax, ebp
mov ebp, dword [esp + 0xa4]
cmp ebp, 0x20
sbb ecx, ecx
mov dword [esp + 0x8c], ecx
and esi, ecx
or esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
shr edx, cl
cmp ecx, 0x20
sbb ecx, ecx
mov dword [esp + 0x88], ecx
and edx, ecx
or edx, esi
mov dword [esp + 0x84], edx
mov esi, ecx
mov ecx, ebp
shl edx, cl
and edx, eax
sub edi, edx
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0xa8]
sub edi, ebx
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x104]
mov eax, dword [edi]
mov ecx, dword [esp + 0xa8]
sub ecx, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x84]
shl ebp, cl
and ebp, esi
mov ecx, dword [esp + 0x94]
mov esi, dword [esp + 0x84]
shr esi, cl
mov ecx, dword [esp + 0x90]
and esi, ecx
or ebp, esi
mov esi, dword [esp + 0xa8]
sub esi, edx
mov edx, dword [esp + 0xa0]
mov esi, edx
sbb edx, ebp
mov dword [esp + 0x80], edx
mov ebp, dword [esp + 0xa8]
sub ebp, ebx
mov ebx, dword [esp + 0x9c]
mov ebp, esi
sbb esi, ebx
mov dword [esp + 0x9c], esi
mov ebx, dword [edi + 4]
mov edi, dword [esp + 0xa8]
sub edi, eax
sbb ebp, ebx
mov dword [esp + 0x7c], ebp
mov eax, dword [esp + 0x84]
xor ebx, ebx
mov edi, 1
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xdc]
jmp 0x4528ac
mov eax, 0xa
mul edi
inc ebx
lea ebp, [ebp + ebp*4]
lea edx, [edx + ebp*2]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x9c]
mov edi, eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
cmp ebx, 0x14
jge 0x452e39
mov ebp, dword [esp + 0x44]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edi, eax
seta dl
and edx, esi
test ebp, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
or edx, esi
test dl, dl
je 0x45287e
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x94]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xd4]
jmp 0x452944
mov edx, dword [esp + 0x5c]
inc edx
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0xa4]
mov ecx, eax
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x94]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x88]
mov edx, dword [esp + 0x5c]
cmp edx, ebx
jge 0x452b06
sub ebx, edx
lea ebp, [ebx - 1]
cmp ebp, 0x14
jae 0x452eb7
lea ebp, [0x77a080]
lea ebx, [ebp + ebx*8 - 8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x452eb0
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], ebp
xor edx, edx
div ebx
mov edx, dword [esp + 0x108]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0xfc], edx
mov edx, dword [esp + 0x5c]
cmp edx, ebp
jae 0x452ea9
mov dword [esp + 0x3c], ebx
mov ebp, eax
imul eax, ebx
mov ebx, dword [esp + 0x58]
sub ebx, eax
mov dword [esp + 0x58], ebx
mov eax, ecx
mov ecx, esi
shl ebx, cl
and ebx, edi
mov dword [esp + 0xa8], ebx
mov edi, dword [esp + 0x60]
add ebx, edi
mov dword [esp + 0x6c], ebx
add ebp, 0x30
mov esi, dword [esp + 0xfc]
xchg ebp, eax
mov byte [esi + edx], al
xchg ebp, eax
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x58]
shl esi, cl
mov ecx, dword [esp + 0x94]
mov ebp, dword [esp + 0x58]
shr ebp, cl
and ebp, eax
mov edx, dword [esp + 0x88]
and esi, edx
or esi, ebp
mov ebp, dword [esp + 0xa8]
add ebp, edi
mov ebp, dword [esp + 0x80]
adc esi, ebp
mov ebp, dword [esp + 0x9c]
cmp esi, ebp
sete dl
mov edi, dword [esp + 0x70]
cmp ebx, edi
setb bl
and ebx, edx
cmp esi, ebp
setb dl
or ebx, edx
test bl, bl
je 0x45290e
mov edx, dword [esp + 0x5c]
inc edx
mov ebx, dword [esp + 0x108]
mov dword [ebx + 0xc], edx
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x54]
add eax, edx
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x104]
movzx eax, byte [eax + 0xc]
mov byte [ebx + 0x14], al
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebp
mov eax, ecx
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x3c]
mov ebx, edx
shl edx, cl
mov ebp, dword [esp + 0x8c]
and edx, ebp
mov dword [esp + 0x1c], edx
mov edx, ecx
mov ecx, dword [esp + 0x98]
mov esi, ebx
shl ebx, cl
mov ecx, eax
shr esi, cl
mov ecx, edx
mov eax, dword [esp + 0x40]
shl eax, cl
and eax, ebp
mov edx, dword [esp + 0x90]
and esi, edx
or esi, eax
mov eax, dword [esp + 0x88]
and ebx, eax
or ebx, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
call fcn.00452ee0
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x114], al
add esp, 0x100
ret
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ebx
mov eax, edi
mov edi, dword [esp + 0x68]
add ebx, edi
mov dword [edx + 0x10], ebx
mov ebx, dword [esp + 0x104]
movzx ebx, byte [ebx + 0xc]
mov byte [edx + 0x14], bl
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x88]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x64], eax
mov dword [esp + 0xc4], ecx
mov ecx, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xbc], edx
xor edx, edx
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
jmp 0x452bef
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov ecx, esi
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x88]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ebp
mov dword [esp + 0xac], esi
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x50], esi
mov ebp, dword [esp + 0x94]
mov edx, dword [esp + 0x108]
mov esi, dword [esp + 0xa4]
mov eax, 0xa
mov ebx, dword [esp + 0x60]
mul ebx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x60], eax
mov eax, 0xa
mov edi, dword [esp + 0x4c]
mul edi
mov edi, dword [esp + 0x64]
lea edi, [edi + edi*4]
mov ebx, dword [esp + 0xa8]
lea ebx, [ebx + edi*2]
mov dword [esp + 0xa8], ebx
mov edi, dword [esp + 0x50]
lea edi, [edi + edi*4]
lea edx, [edx + edi*2]
mov dword [esp + 0xa0], edx
mov edi, ecx
mov ecx, ebp
shl ebx, cl
mov ecx, esi
mov edx, dword [esp + 0x60]
shr edx, cl
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0xa8]
shr ebp, cl
mov esi, dword [esp + 0x8c]
and edx, esi
and ebx, edi
or ebx, edx
mov edx, dword [esp + 0x88]
and ebp, edx
or ebp, ebx
mov ebx, dword [esp + 0x108]
mov edx, dword [ebx + 4]
mov edi, dword [ebx]
mov ebx, dword [ebx + 0xc]
cmp ebx, edx
jae 0x452ea2
mov dword [esp + 0x4c], eax
mov dword [esp + 0x84], ebp
mov ecx, dword [esp + 0xa4]
shl ebp, cl
and ebp, esi
mov esi, dword [esp + 0x60]
sub esi, ebp
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x70]
mul esi
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x84]
lea esi, [edx + 0x30]
xchg esi, eax
mov byte [edi + ebx], al
xchg esi, eax
mov ebx, dword [esp + 0x108]
mov esi, dword [ebx + 0xc]
inc esi
mov dword [ebx + 0xc], esi
mov esi, edx
sar edx, 0x1f
mov edi, ecx
mov ecx, dword [esp + 0x98]
shl esi, cl
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x84]
shr ebx, cl
mov ecx, edi
shl edx, cl
mov edi, dword [esp + 0x8c]
and edx, edi
mov edi, dword [esp + 0x90]
and ebx, edi
or edx, ebx
mov ebx, dword [esp + 0x88]
and esi, ebx
or edx, esi
mov esi, dword [esp + 0x60]
sub esi, ebp
mov ebp, dword [esp + 0xa8]
sbb ebp, edx
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0x4c]
imul edx, esi
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0xa0]
imul ebx, edi
mov esi, dword [esp + 0x74]
add ebx, esi
add edx, ebx
cmp ebp, edx
sete bl
mov esi, dword [esp + 0x78]
cmp esi, eax
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebx
cmp ebp, edx
setb bl
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x452b7a
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x38]
mul esi
mov ebx, dword [esp + 0x108]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
imul esi, edi
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
imul ebx, ebp
add edx, ebx
add edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x18], edx
mov edx, 1
shl edx, cl
mov ebx, dword [esp + 0x8c]
and edx, ebx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x94]
mov edx, 1
shr edx, cl
mov ecx, dword [esp + 0x98]
mov ebx, 1
shl ebx, cl
mov esi, dword [esp + 0x90]
and edx, esi
mov esi, dword [esp + 0x88]
and ebx, esi
or ebx, edx
mov dword [esp + 0x20], ebx
mov edx, ebp
shl ebp, 1
mov dword [esp + 0x24], ebp
shl edi, 1
shr edx, 0x1f
or edx, edi
mov dword [esp + 0x28], edx
call fcn.00452ee0
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x114], dl
add esp, 0x100
ret
xor ebx, ebx
jmp 0x4528d8
mov eax, edx
jmp 0x4526d8
mov esi, dword [esp + 0x110]
jmp 0x4525d2
mov esi, dword [esp + 0x110]
jmp 0x4525d2
mov esi, dword [esp + 0x110]
jmp 0x4525d2
mov esi, dword [esp + 0x110]
jmp 0x4525d2
mov eax, dword [esp + 0x108]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
movzx ecx, byte [ecx + 0xc]
mov byte [eax + 0x14], cl
mov byte [esp + 0x114], 1
add esp, 0x100
ret
call fcn.00424360
ud2
call fcn.00424360
ud2
call fcn.00424420
ud2
call fcn.00424360
ud2
call fcn.00424360
ud2
call fcn.00424360
ud2
call fcn.00424360
ud2
call fcn.00446b60
jmp fcn.004523b0