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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x88
mov ebx, ecx
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xa4]
jmp 0x45a260
mov edx, edi
mov edi, edx
lea ecx, [esi + edx]
shr ecx, 1
mov eax, esi
mov ecx, dword [ebx + ecx*4]
cmp edx, esi
ja 0x45a923
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ebx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x74], ecx
mov edi, dword [ecx + ebx]
test edi, edi
je 0x45abef
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x45a2ba
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x45a2b1
cmp eax, 0x2d
jne 0x45a2d6
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x45ab89
mov esi, 1
jmp 0x45a2ed
cmp eax, 0x2b
jne 0x45a2df
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x45abef
xor esi, esi
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x20], edx
xor ebp, ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov esi, edx
inc edi
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x45abe2
inc ecx
cmp ecx, 8
jg 0x45ab92
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x45a303
mov dword [esp + 0x20], esi
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
jle 0x45a366
mov eax, dword [esp + 0x20]
cdq
mov eax, dword [esp + 0xa4]
mov edi, edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push ebp
push ebx
call fcn.0045ac05
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x20]
adc ebp, edi
test esi, esi
je 0x45a378
xor edx, edx
mov eax, ebx
xor ebx, ebx
mov ecx, ebp
xor ebp, ebp
sub ebx, eax
sbb ebp, ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0xa0]
mov edx, dword [eax + edx]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], edx
test edx, edx
je 0x45ab80
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x45a3b4
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x45a3ab
cmp eax, 0x2d
jne 0x45a3d0
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x45ab12
mov esi, 1
jmp 0x45a3e7
cmp eax, 0x2b
jne 0x45a3d9
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x45ab80
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x18], ebx
mov ebx, edx
mov ecx, edi
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp]
inc ebx
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x45ab73
inc ecx
cmp ecx, 8
jg 0x45ab1b
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x45a411
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], esi
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
cmp dword [esp + 0x24], 0
jle 0x45a493
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
cdq
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x28], edx
mov eax, dword [eax + ebx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ebx*4]
push ecx
push edi
mov ebx, dword [esp + 0x28]
call fcn.0045ac05
mov edi, eax
mov ecx, edx
add edi, dword [esp + 0x1c]
adc ecx, dword [esp + 0x28]
test esi, esi
je 0x45a4a5
xor edx, edx
mov eax, edi
xor edi, edi
mov esi, ecx
xor ecx, ecx
sub edi, eax
sbb ecx, esi
sub ebx, edi
sbb ebp, ecx
jge 0x45a6ba
mov edx, dword [esp + 0x78]
inc edx
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x78], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x74], ecx
mov ebp, dword [ecx + ebx]
test ebp, ebp
je 0x45ab09
movsx eax, byte [ebp]
cmp eax, 0x20
jne 0x45a4e8
inc ebp
movsx eax, byte [ebp]
cmp eax, 0x20
je 0x45a4de
cmp eax, 0x2d
jne 0x45a505
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x45aaa2
mov ebx, 1
jmp 0x45a51d
cmp eax, 0x2b
jne 0x45a50f
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x45ab09
xor ebx, ebx
xor edx, edx
xor ecx, ecx
xor esi, esi
xor edi, edi
mov dword [esp + 0x64], edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov ebx, edx
mov edi, edx
inc ebp
lea edi, [edi + edi*4]
lea edi, [eax + edi*2 - 0x30]
test edi, edi
jle 0x45aafc
inc ecx
cmp ecx, 8
jg 0x45aaab
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x45a535
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
test ecx, ecx
jle 0x45a599
mov eax, dword [esp + 0x64]
cdq
mov eax, dword [esp + 0xa4]
mov ebp, edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push edi
push esi
call fcn.0045ac05
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x64]
adc edi, ebp
test ebx, ebx
je 0x45a5ab
xor edx, edx
mov eax, esi
xor esi, esi
mov ecx, edi
xor edi, edi
sub esi, eax
sbb edi, ecx
mov edx, dword [esp + 0x80]
cmp dword [esp + 0x84], 0
je 0x45aa99
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x45a5d8
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x45a5cf
cmp eax, 0x2d
jne 0x45a5f7
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x45aa2d
mov dword [esp + 0x70], 1
jmp 0x45a614
cmp eax, 0x2b
jne 0x45a600
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x45aa99
mov dword [esp + 0x70], 0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x68], ecx
xor ebp, ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], ebx
mov ebx, edx
mov edi, ecx
mov esi, ebp
inc ebx
lea edi, [edi + edi*4]
lea edi, [eax + edi*2 - 0x30]
test edi, edi
jle 0x45aa8c
inc ecx
cmp ecx, 8
jg 0x45aa36
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x45a630
mov dword [esp + 0x68], edi
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
test ecx, ecx
jle 0x45a69b
mov eax, dword [esp + 0x68]
cdq
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x6c], edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push ebp
push ebx
call fcn.0045ac05
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x68]
adc ebp, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0
je 0x45a6b0
xor edx, edx
mov eax, ebx
xor ebx, ebx
mov ecx, ebp
xor ebp, ebp
sub ebx, eax
sbb ebp, ecx
sub esi, ebx
sbb edi, ebp
jl 0x45a4af
cmp dword [esp + 0x50], 0
jbe 0x45a8cc
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + edx*4]
mov edi, dword [ecx + ebx]
test edi, edi
je 0x45aa24
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x45a6f3
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x45a6ea
cmp eax, 0x2d
jne 0x45a70f
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x45a9bc
mov ebx, 1
jmp 0x45a726
cmp eax, 0x2b
jne 0x45a718
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x45aa24
xor ebx, ebx
xor edx, edx
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x40], edx
xor ebp, ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov ebx, edx
mov esi, edx
inc edi
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x45aa17
inc ecx
cmp ecx, 8
jg 0x45a9c5
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x45a73e
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jle 0x45a7a1
mov eax, dword [esp + 0x40]
cdq
mov eax, dword [esp + 0xa4]
mov edi, edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push ebp
push esi
call fcn.0045ac05
mov esi, eax
mov ebp, edx
add esi, dword [esp + 0x40]
adc ebp, edi
test ebx, ebx
je 0x45a7b3
xor edx, edx
mov eax, esi
xor esi, esi
mov ecx, ebp
xor ebp, ebp
sub esi, eax
sbb ebp, ecx
mov edx, dword [esp + 0x80]
cmp dword [esp + 0x84], 0
je 0x45a9b3
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x45a7e0
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x45a7d7
cmp eax, 0x2d
jne 0x45a7ff
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x45a947
mov dword [esp + 0x4c], 1
jmp 0x45a81c
cmp eax, 0x2b
jne 0x45a808
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x45a9b3
mov dword [esp + 0x4c], 0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x44], ecx
xor edi, edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], ebx
mov ebx, edx
mov esi, ecx
mov ebp, edi
inc ebx
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x45a9a6
inc ecx
cmp ecx, 8
jg 0x45a950
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x45a838
mov dword [esp + 0x44], esi
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
test ecx, ecx
jle 0x45a8a3
mov eax, dword [esp + 0x44]
cdq
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x48], edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push edi
push ebx
call fcn.0045ac05
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x44]
adc edi, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x45a8b8
xor edx, edx
mov eax, ebx
xor ebx, ebx
mov ecx, edi
xor edi, edi
sub ebx, eax
sbb edi, ecx
sub esi, ebx
sbb ebp, edi
jl 0x45a8cc
or esi, ebp
je 0x45a8cc
dec dword [esp + 0x50]
jne 0x45a6c5
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
ja 0x45a8fd
mov esi, eax
mov ebp, dword [esp + 0x50]
xor eax, eax
mov ebx, dword [esp + 0x7c]
cmp eax, ebp
mov ecx, dword [esp + 0x74]
mov edx, dword [ebx + ebp*4]
mov dword [ebx + esi*4], edx
mov dword [ebx + ebp*4], ecx
sbb ebp, 0
inc esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
jbe 0x45a288
mov edi, eax
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xa4]
lea eax, [edi - 1]
cmp edx, eax
jae 0x45a93a
push ebp
push dword [esp + 0xa4]
mov ecx, ebx
push eax
call fcn.0045a242
cmp edi, esi
jb 0x45a25e
jmp 0x45abf8
xor ebx, ebx
xor edi, edi
jmp 0x45a8aa
push edi
push dword [esp + 0x40]
push 0
push 0x3b9aca00
call fcn.0045ac05
test ebp, ebp
mov ecx, edx
jne 0x45a96b
mov eax, dword [esp + 0x3c]
jne 0x45a96f
mov ecx, edi
add eax, esi
mov dword [esp + 0x3c], eax
mov eax, esi
cdq
movsx eax, byte [ebx]
mov edi, edx
adc edi, ecx
lea ebp, [eax - 0x30]
cmp ebp, 9
ja 0x45a995
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x45a838
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
jmp 0x45a8a3
test ebp, ebp
je 0x45a852
jmp 0x45a848
xor ebx, ebx
xor edi, edi
jmp 0x45a8b8
xor esi, esi
xor ebp, ebp
jmp 0x45a7a5
push ebp
push dword [esp + 0x38]
push 0
push 0x3b9aca00
call fcn.0045ac05
test ebx, ebx
mov ecx, edx
jne 0x45a9e0
mov eax, dword [esp + 0x34]
jne 0x45a9e4
mov ecx, ebp
add eax, esi
mov dword [esp + 0x34], eax
mov eax, esi
cdq
movsx eax, byte [edi]
mov ebp, edx
adc ebp, ecx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x45aa0a
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x45a73e
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
jmp 0x45a7a1
test ebx, ebx
je 0x45a758
jmp 0x45a74e
xor esi, esi
xor ebp, ebp
jmp 0x45a7b3
xor ebx, ebx
xor ebp, ebp
jmp 0x45a6a2
push ebp
push dword [esp + 0x64]
push 0
push 0x3b9aca00
call fcn.0045ac05
test esi, esi
mov ecx, edx
jne 0x45aa51
mov eax, dword [esp + 0x60]
jne 0x45aa55
mov ecx, ebp
add eax, edi
mov dword [esp + 0x60], eax
mov eax, edi
cdq
movsx eax, byte [ebx]
mov ebp, edx
adc ebp, ecx
lea esi, [eax - 0x30]
cmp esi, 9
ja 0x45aa7b
xor edi, edi
mov esi, 1
xor ecx, ecx
jmp 0x45a630
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
jmp 0x45a69b
test esi, esi
je 0x45a64a
jmp 0x45a640
xor ebx, ebx
xor ebp, ebp
jmp 0x45a6b0
xor esi, esi
xor edi, edi
jmp 0x45a59d
push dword [esp + 0x58]
push esi
push 0
push 0x3b9aca00
call fcn.0045ac05
test ebx, ebx
mov ecx, edx
jne 0x45aac4
mov eax, esi
mov esi, eax
mov eax, edi
jne 0x45aace
mov ecx, dword [esp + 0x58]
cdq
movsx eax, byte [ebp]
add esi, edi
adc edx, ecx
mov dword [esp + 0x58], edx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x45aaf1
xor edi, edi
mov ebx, 1
xor ecx, ecx
jmp 0x45a535
mov edi, edx
mov ebx, dword [esp + 0x54]
jmp 0x45a599
test ebx, ebx
je 0x45a54f
jmp 0x45a545
xor esi, esi
xor edi, edi
jmp 0x45a5ab
xor edi, edi
xor ecx, ecx
jmp 0x45a497
push dword [esp + 0x14]
push edi
push 0
push 0x3b9aca00
call fcn.0045ac05
test ebp, ebp
mov ecx, edx
jne 0x45ab34
mov eax, edi
mov edi, eax
mov eax, esi
jne 0x45ab3e
mov ecx, dword [esp + 0x14]
cdq
movsx eax, byte [ebx]
add edi, esi
adc edx, ecx
mov dword [esp + 0x14], edx
lea ebp, [eax - 0x30]
cmp ebp, 9
ja 0x45ab60
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x45a411
mov ebx, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
jmp 0x45a493
test ebp, ebp
je 0x45a42b
jmp 0x45a421
xor edi, edi
xor ecx, ecx
jmp 0x45a4a5
xor ebx, ebx
xor ebp, ebp
jmp 0x45a36a
push dword [esp + 0xc]
push ebx
push 0
push 0x3b9aca00
call fcn.0045ac05
test ebp, ebp
mov ecx, edx
jne 0x45abab
mov eax, ebx
mov ebx, eax
mov eax, esi
jne 0x45abb5
mov ecx, dword [esp + 0xc]
cdq
movsx eax, byte [edi]
add ebx, esi
adc edx, ecx
mov dword [esp + 0xc], edx
lea ebp, [eax - 0x30]
cmp ebp, 9
ja 0x45abd7
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x45a303
mov ebp, edx
mov esi, dword [esp + 8]
jmp 0x45a366
test ebp, ebp
je 0x45a31d
jmp 0x45a313
xor ebx, ebx
xor ebp, ebp
jmp 0x45a378
add esp, 0x88
pop ebp
pop ebx
pop edi
pop esi
ret 0xc