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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x453397
sub esp, 0xf0
mov ecx, dword [esp + 0xf4]
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 0x45333b
mov ebp, dword [ecx + 8]
test ebp, ebp
jne 0x45332f
mov esi, dword [esp + 0xfc]
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 0x453323
mov edx, dword [esi + 8]
cmp edx, edi
jne 0x453317
movzx ebx, byte [esi + 0xc]
movzx esi, byte [eax + 0xc]
xchg esi, eax
cmp al, bl
xchg esi, eax
jne 0x45330b
mov byte [esp + 0x33], bl
mov esi, dword [esp + 0x100]
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 0x452aa2
mov ecx, dword [esi + 8]
cmp ecx, edx
jne 0x452aa2
movzx ecx, byte [esi + 0xc]
movzx edx, byte [esp + 0x33]
cmp cl, dl
jne 0x452aa2
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.0044c13a
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov eax, 0x17
jmp 0x45298c
mov byte [esp + ebp + 0xd4], dl
dec ebp
mov ecx, dword [esp + 0xf4]
mov edx, ebx
mov ebx, eax
mov eax, ebp
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebp, esi
test ebx, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x452a01
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.00447290
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 0x452977
jmp 0x453390
lea edx, [eax - 0x17]
neg edx
mov ebx, dword [esp + 0xf8]
xor ebp, ebp
jmp 0x452a27
xchg edi, eax
mov byte [ecx + ebp], al
xchg edi, eax
inc ebp
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov ebx, esi
cmp ebp, edx
jge 0x452a55
lea esi, [eax + ebp + 1]
lea edi, [eax + ebp]
cmp esi, 0x18
jae 0x453389
mov esi, dword [ebx + 4]
mov ecx, dword [ebx]
lea ebx, [esp + 0xd4]
movzx edi, byte [edi + ebx + 1]
cmp ebp, esi
jb 0x452a11
jmp 0x453389
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
jmp 0x452a60
mov dword [ebx + 0xc], esi
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x452a83
mov edx, dword [ebx]
mov ebp, dword [ebx + 4]
lea esi, [eax - 1]
cmp esi, ebp
jae 0x453382
movzx edx, byte [eax + edx - 1]
cmp dl, 0x30
je 0x452a5d
test eax, eax
jne 0x452a8c
mov dword [ebx + 0x10], 0
movzx eax, byte [ecx + 0xc]
mov byte [ebx + 0x14], al
mov byte [esp + 0x104], 1
add esp, 0xf0
ret
mov dword [esp], esi
call fcn.00451c30
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 8]
cmp ecx, ebx
jle 0x452b2e
mov ebp, dword [eax]
mov dword [esp + 0xa0], ebp
mov esi, dword [eax + 4]
sub ecx, ebx
mov dword [esp + 0x9c], 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 + 0x98], 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 + 0x9c]
shl esi, cl
and esi, edi
or esi, ebx
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
shl ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
or ebx, esi
mov dword [eax + 4], ebx
mov ebx, dword [edx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0xfc]
mov ecx, dword [ebx + 8]
mov ebp, dword [edx + 8]
cmp ecx, ebp
jle 0x453304
mov esi, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esp + 0xa0], edi
sub ecx, ebp
mov dword [esp + 0x9c], 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
neg ecx
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0xa0]
shr edx, cl
mov ecx, dword [esp + 0x9c]
shl esi, cl
and esi, eax
mov eax, dword [esp + 0x98]
cmp eax, 0x20
sbb eax, eax
and edx, eax
or edx, esi
cmp edi, 0x20
sbb eax, eax
and ebp, eax
or ebp, edx
mov dword [ebx + 4], ebp
mov eax, dword [esp + 0x100]
mov edx, dword [eax + 8]
mov dword [ebx + 8], edx
mov dword [esp], ebx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00451f50
mov eax, dword [esp + 0x100]
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 + 0xfc]
mov ebx, dword [ecx]
add ebx, 0xffffffff
mov dword [esp + 0xa0], ebx
mov ebp, dword [ecx + 4]
mov dword [ecx], ebx
adc ebp, 0xffffffff
mov dword [esp + 0x94], ebp
mov dword [ecx + 4], ebp
mov ecx, dword [eax + 8]
neg ecx
mov dword [esp + 0x9c], ecx
mov esi, dword [eax + 4]
mov dword [esp + 0x98], esi
mov eax, dword [eax]
mov dword [esp + 0x90], eax
lea edi, [ecx - 0x20]
mov dword [esp + 0x8c], edi
mov ecx, edi
shr esi, cl
mov ecx, dword [esp + 0x9c]
shr eax, cl
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x88], edi
mov ecx, edi
mov edx, dword [esp + 0x98]
shl edx, cl
mov ebp, dword [esp + 0x9c]
cmp ebp, 0x20
sbb ebx, ebx
mov dword [esp + 0x84], ebx
and eax, ebx
cmp ecx, 0x20
sbb ecx, ecx
mov dword [esp + 0x80], ecx
and edx, ecx
or edx, eax
mov eax, dword [esp + 0x8c]
cmp eax, 0x20
sbb eax, eax
and esi, eax
or esi, edx
mov dword [esp + 0x7c], esi
mov edx, ecx
mov ecx, ebp
shl esi, cl
and esi, ebx
mov ebx, dword [esp + 0x90]
sub ebx, esi
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0xa0]
sub ebx, ecx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0xf4]
mov ebp, dword [ebx]
mov ebx, dword [esp + 0x90]
sub ebx, ebp
mov dword [esp + 0x38], ebx
mov ecx, edi
mov ebx, dword [esp + 0x7c]
shr ebx, cl
and ebx, edx
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x7c]
shl edx, cl
and edx, eax
or edx, ebx
mov ebx, dword [esp + 0x90]
sub ebx, esi
mov ebx, dword [esp + 0x98]
mov esi, ebx
sbb ebx, edx
mov dword [esp + 0x78], ebx
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0xa0]
sub edx, ebx
mov edx, dword [esp + 0x94]
mov ebx, esi
sbb esi, edx
mov dword [esp + 0x94], esi
mov edx, dword [esp + 0xf4]
mov edx, dword [edx + 4]
mov esi, dword [esp + 0x90]
sub esi, ebp
sbb ebx, edx
mov dword [esp + 0x74], ebx
mov edx, dword [esp + 0x7c]
xor ebp, ebp
mov esi, 1
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xcc]
jmp 0x452d8f
mov edx, eax
mov eax, 0xa
mov edi, edx
mul esi
inc ebp
lea ebx, [ebx + ebx*4]
lea edx, [edx + ebx*2]
mov ebx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x74]
mov esi, eax
mov dword [esp + 0x44], edx
mov eax, edi
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x88]
cmp ebp, 0x14
jge 0x4532fd
mov ebx, dword [esp + 0x44]
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp esi, edx
seta dl
and edx, edi
test ebx, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
or edx, edi
test dl, dl
je 0x452d62
mov dword [esp + 0xa0], eax
mov dword [esp + 0x54], ebp
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xbc]
jmp 0x452e4e
mov ebx, dword [esp + 0x5c]
inc ebx
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x80]
mov eax, ebp
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x80]
mov ebx, dword [esp + 0x5c]
cmp ebx, ebp
jge 0x453009
sub ebp, ebx
lea edx, [ebp - 1]
cmp edx, 0x14
jae 0x45337b
lea edx, [0x6c4620]
lea ebp, [edx + ebp*8 - 8]
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
test ebp, ebp
je 0x453374
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x58]
xor edx, edx
div ebp
mov edx, dword [esp + 0xf8]
mov edi, dword [edx]
mov edx, dword [edx + 4]
cmp ebx, edx
jae 0x45336d
mov dword [esp + 0x3c], ebp
mov edx, eax
imul eax, ebp
mov ebp, dword [esp + 0x58]
sub ebp, eax
mov dword [esp + 0x58], ebp
mov eax, ecx
mov ecx, esi
shl ebp, cl
mov esi, dword [esp + 0x84]
and ebp, esi
mov dword [esp + 0x98], ebp
mov esi, dword [esp + 0x60]
add ebp, esi
mov dword [esp + 0x6c], ebp
add edx, 0x30
mov byte [edi + ebx], dl
mov ecx, eax
mov edi, dword [esp + 0x58]
shl edi, cl
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x58]
shr edx, cl
mov ebx, dword [esp + 0x80]
and edx, ebx
mov ebx, dword [esp + 0xa0]
and edi, ebx
or edi, edx
mov edx, dword [esp + 0x98]
add edx, esi
mov edx, dword [esp + 0x78]
adc edi, edx
mov edx, dword [esp + 0x94]
cmp edi, edx
sete bl
mov esi, dword [esp + 0x70]
cmp ebp, esi
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, ebx
cmp edi, edx
setb bl
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x452e0e
mov ebx, dword [esp + 0x5c]
inc ebx
mov ebp, dword [esp + 0xf8]
mov dword [ebp + 0xc], ebx
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x54]
add eax, ebx
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0xf4]
movzx eax, byte [eax + 0xc]
mov byte [ebp + 0x14], al
mov dword [esp], ebp
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
mov eax, ecx
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x3c]
mov ebx, edx
shl edx, cl
mov ebp, dword [esp + 0x84]
and edx, ebp
mov dword [esp + 0x1c], edx
mov edx, ecx
mov ecx, dword [esp + 0x8c]
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 + 0x80]
and esi, edx
or esi, eax
mov eax, dword [esp + 0xa0]
and ebx, eax
or ebx, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
call fcn.004533b0
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x104], al
add esp, 0xf0
ret
mov ebx, dword [esp + 0xf8]
mov dword [ebx + 0xc], ebp
mov edi, dword [esp + 0x68]
add ebp, edi
mov dword [ebx + 0x10], ebp
mov ebp, dword [esp + 0xf4]
movzx ebp, byte [ebp + 0xc]
xchg ebp, eax
mov byte [ebx + 0x14], al
xchg ebp, eax
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x80]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x64], eax
mov dword [esp + 0xac], ecx
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0xa4], edx
mov edx, 1
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa4]
jmp 0x4530c1
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x80]
mov eax, edx
mov edx, ebp
mov ebp, dword [esp + 0x70]
mov esi, ecx
mov edi, dword [esp + 0x80]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xf8]
mov eax, dword [esp + 0x60]
mov ebp, 0xa
mul ebp
mov dword [esp + 0x98], edx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
mul ebp
mov ebp, dword [esp + 0x64]
lea ebp, [ebp + ebp*4]
mov ebx, dword [esp + 0x98]
lea ebx, [ebx + ebp*2]
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0x50]
lea ebp, [ebp + ebp*4]
lea edx, [edx + ebp*2]
mov dword [esp + 0x50], edx
mov ebp, ebx
shr ebx, cl
mov ecx, dword [esp + 0x88]
shl ebp, cl
mov ecx, esi
mov edx, dword [esp + 0x60]
shr edx, cl
mov esi, dword [esp + 0x84]
and edx, esi
and ebp, edi
or ebp, edx
mov edx, dword [esp + 0xa0]
and ebx, edx
or ebx, ebp
mov ebp, dword [esp + 0xf8]
mov edx, dword [ebp]
mov edi, dword [ebp + 4]
mov ebp, dword [ebp + 0xc]
cmp ebp, edi
jae 0x453366
mov dword [esp + 0xec], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x98], ebx
mov edi, ebx
shl ebx, cl
and ebx, esi
mov esi, dword [esp + 0x60]
sub esi, ebx
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x70]
mul esi
mov dword [esp + 0x7c], edx
lea edx, [edi + 0x30]
mov esi, dword [esp + 0xec]
mov byte [esi + ebp], dl
mov edx, dword [esp + 0xf8]
mov ebp, dword [edx + 0xc]
inc ebp
mov dword [edx + 0xc], ebp
mov ebp, edi
sar edi, 0x1f
mov esi, ecx
mov ecx, dword [esp + 0x8c]
shl ebp, cl
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x98]
shr edx, cl
mov ecx, esi
shl edi, cl
mov esi, dword [esp + 0x84]
and edi, esi
mov esi, dword [esp + 0x80]
and edx, esi
or edi, edx
mov edx, dword [esp + 0xa0]
and ebp, edx
or edi, ebp
mov ebp, dword [esp + 0x60]
sub ebp, ebx
mov ebx, dword [esp + 0x64]
sbb ebx, edi
mov ebp, dword [esp + 0x94]
mov edi, dword [esp + 0x4c]
imul ebp, edi
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x50]
imul edx, esi
mov esi, dword [esp + 0x7c]
add edx, esi
add edx, ebp
cmp ebx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x90]
cmp esi, eax
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebp
cmp ebx, edx
xchg ebp, ebx
setb bl
xchg ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x45307a
mov dword [esp + 0x98], edx
mov dword [esp + 0x7c], eax
mov eax, edi
mov esi, dword [esp + 0x38]
mul esi
mov ebp, dword [esp + 0xf8]
mov dword [esp], ebp
mov ebp, dword [esp + 0x90]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x50]
imul esi, ebx
mov ebp, dword [esp + 0x74]
imul ebp, edi
add edx, ebp
add edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x18], edx
mov edx, 1
shl edx, cl
mov ebp, dword [esp + 0x84]
and edx, ebp
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x8c]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x88]
mov ebp, 1
shr ebp, cl
mov esi, dword [esp + 0x80]
and ebp, esi
mov esi, dword [esp + 0xa0]
and edx, esi
or edx, ebp
mov dword [esp + 0x20], edx
mov edx, edi
shl edi, 1
mov dword [esp + 0x24], edi
shl ebx, 1
shr edx, 0x1f
or edx, ebx
mov dword [esp + 0x28], edx
call fcn.004533b0
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x104], dl
add esp, 0xf0
ret
xor ebp, ebp
jmp 0x452dbb
mov eax, edx
jmp 0x452bb2
mov esi, dword [esp + 0x100]
jmp 0x452aa2
mov esi, dword [esp + 0x100]
jmp 0x452aa2
mov esi, dword [esp + 0x100]
jmp 0x452aa2
mov esi, dword [esp + 0x100]
jmp 0x452aa2
mov eax, dword [esp + 0xf8]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
movzx ecx, byte [ecx + 0xc]
mov byte [eax + 0x14], cl
mov byte [esp + 0x104], 1
add esp, 0xf0
ret
call fcn.00425c90
ud2
call fcn.00425c90
ud2
call fcn.00425d50
ud2
call fcn.00425c90
ud2
call fcn.00425c90
ud2
call fcn.00425c90
ud2
call fcn.00425c90
ud2
call fcn.0044a520
jmp fcn.00452880