Function at 0x4524d0
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 0x452fe7
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 0x452f8b
mov ebp, dword [ecx + 8]
test ebp, ebp
jne 0x452f7f
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 0x452f73
mov edx, dword [esi + 8]
cmp edx, edi
jne 0x452f67
movzx ebx, byte [esi + 0xc]
movzx esi, byte [eax + 0xc]
xchg esi, eax
cmp al, bl
xchg esi, eax
jne 0x452f5b
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 0x4526f2
mov ecx, dword [esi + 8]
cmp ecx, edx
jne 0x4526f2
movzx ecx, byte [esi + 0xc]
movzx edx, byte [esp + 0x33]
cmp cl, dl
jne 0x4526f2
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.0044bdea
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov eax, 0x17
jmp 0x4525dc
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 0x452651
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.00446f40
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 0x4525c7
jmp 0x452fe0
lea edx, [eax - 0x17]
neg edx
mov ebx, dword [esp + 0xf8]
xor ebp, ebp
jmp 0x452677
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 0x4526a5
lea esi, [eax + ebp + 1]
lea edi, [eax + ebp]
cmp esi, 0x18
jae 0x452fd9
mov esi, dword [ebx + 4]
mov ecx, dword [ebx]
lea ebx, [esp + 0xd4]
movzx edi, byte [edi + ebx + 1]
cmp ebp, esi
jb 0x452661
jmp 0x452fd9
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
jmp 0x4526b0
mov dword [ebx + 0xc], esi
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x4526d3
mov edx, dword [ebx]
mov ebp, dword [ebx + 4]
lea esi, [eax - 1]
cmp esi, ebp
jae 0x452fd2
movzx edx, byte [eax + edx - 1]
cmp dl, 0x30
je 0x4526ad
test eax, eax
jne 0x4526dc
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.00451880
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 8]
cmp ecx, ebx
jle 0x45277e
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 0x452f54
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.00451ba0
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 0x4529df
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 0x452f4d
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 0x4529b2
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 0x452a9e
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 0x452c59
sub ebp, ebx
lea edx, [ebp - 1]
cmp edx, 0x14
jae 0x452fcb
lea edx, [0x6ea920]
lea ebp, [edx + ebp*8 - 8]
mov edx, dword [ebp + 4]
mov ebp, dword [ebp]
test ebp, ebp
je 0x452fc4
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 0x452fbd
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 0x452a5e
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.00453000
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 0x452d11
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 0x452fb6
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 0x452cca
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.00453000
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x104], dl
add esp, 0xf0
ret
xor ebp, ebp
jmp 0x452a0b
mov eax, edx
jmp 0x452802
mov esi, dword [esp + 0x100]
jmp 0x4526f2
mov esi, dword [esp + 0x100]
jmp 0x4526f2
mov esi, dword [esp + 0x100]
jmp 0x4526f2
mov esi, dword [esp + 0x100]
jmp 0x4526f2
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.00425900
ud2
call fcn.00425900
ud2
call fcn.004259c0
ud2
call fcn.00425900
ud2
call fcn.00425900
ud2
call fcn.00425900
ud2
call fcn.00425900
ud2
call fcn.0044a1d0
jmp fcn.004524d0