Function at 0x4ea0ad
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 0x4ea0cb
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 0x4ea78e
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 0x4eaa5a
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x4ea125
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x4ea11c
cmp eax, 0x2d
jne 0x4ea141
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x4ea9f4
mov esi, 1
jmp 0x4ea158
cmp eax, 0x2b
jne 0x4ea14a
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x4eaa5a
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 0x4eaa4d
inc ecx
cmp ecx, 8
jg 0x4ea9fd
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x4ea16e
mov dword [esp + 0x20], esi
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
jle 0x4ea1d1
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.004eaa70
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x20]
adc ebp, edi
test esi, esi
je 0x4ea1e3
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 0x4ea9eb
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x4ea21f
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x4ea216
cmp eax, 0x2d
jne 0x4ea23b
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x4ea97d
mov esi, 1
jmp 0x4ea252
cmp eax, 0x2b
jne 0x4ea244
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x4ea9eb
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 0x4ea9de
inc ecx
cmp ecx, 8
jg 0x4ea986
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x4ea27c
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 0x4ea2fe
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.004eaa70
mov edi, eax
mov ecx, edx
add edi, dword [esp + 0x1c]
adc ecx, dword [esp + 0x28]
test esi, esi
je 0x4ea310
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 0x4ea525
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 0x4ea974
movsx eax, byte [ebp]
cmp eax, 0x20
jne 0x4ea353
inc ebp
movsx eax, byte [ebp]
cmp eax, 0x20
je 0x4ea349
cmp eax, 0x2d
jne 0x4ea370
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x4ea90d
mov ebx, 1
jmp 0x4ea388
cmp eax, 0x2b
jne 0x4ea37a
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x4ea974
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 0x4ea967
inc ecx
cmp ecx, 8
jg 0x4ea916
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x4ea3a0
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
test ecx, ecx
jle 0x4ea404
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.004eaa70
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x64]
adc edi, ebp
test ebx, ebx
je 0x4ea416
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 0x4ea904
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x4ea443
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x4ea43a
cmp eax, 0x2d
jne 0x4ea462
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x4ea898
mov dword [esp + 0x70], 1
jmp 0x4ea47f
cmp eax, 0x2b
jne 0x4ea46b
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x4ea904
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 0x4ea8f7
inc ecx
cmp ecx, 8
jg 0x4ea8a1
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x4ea49b
mov dword [esp + 0x68], edi
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
test ecx, ecx
jle 0x4ea506
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.004eaa70
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x68]
adc ebp, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0
je 0x4ea51b
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 0x4ea31a
cmp dword [esp + 0x50], 0
jbe 0x4ea737
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 0x4ea88f
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x4ea55e
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x4ea555
cmp eax, 0x2d
jne 0x4ea57a
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x4ea827
mov ebx, 1
jmp 0x4ea591
cmp eax, 0x2b
jne 0x4ea583
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x4ea88f
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 0x4ea882
inc ecx
cmp ecx, 8
jg 0x4ea830
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x4ea5a9
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jle 0x4ea60c
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.004eaa70
mov esi, eax
mov ebp, edx
add esi, dword [esp + 0x40]
adc ebp, edi
test ebx, ebx
je 0x4ea61e
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 0x4ea81e
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x4ea64b
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x4ea642
cmp eax, 0x2d
jne 0x4ea66a
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x4ea7b2
mov dword [esp + 0x4c], 1
jmp 0x4ea687
cmp eax, 0x2b
jne 0x4ea673
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x4ea81e
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 0x4ea811
inc ecx
cmp ecx, 8
jg 0x4ea7bb
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x4ea6a3
mov dword [esp + 0x44], esi
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
test ecx, ecx
jle 0x4ea70e
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.004eaa70
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x44]
adc edi, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x4ea723
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 0x4ea737
or esi, ebp
je 0x4ea737
dec dword [esp + 0x50]
jne 0x4ea530
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
ja 0x4ea768
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 0x4ea0f3
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 0x4ea7a5
push ebp
push dword [esp + 0xa4]
mov ecx, ebx
push eax
call fcn.004ea0ad
cmp edi, esi
jb 0x4ea0c9
jmp 0x4eaa63
xor ebx, ebx
xor edi, edi
jmp 0x4ea715
push edi
push dword [esp + 0x40]
push 0
push 0x3b9aca00
call fcn.004eaa70
test ebp, ebp
mov ecx, edx
jne 0x4ea7d6
mov eax, dword [esp + 0x3c]
jne 0x4ea7da
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 0x4ea800
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x4ea6a3
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
jmp 0x4ea70e
test ebp, ebp
je 0x4ea6bd
jmp 0x4ea6b3
xor ebx, ebx
xor edi, edi
jmp 0x4ea723
xor esi, esi
xor ebp, ebp
jmp 0x4ea610
push ebp
push dword [esp + 0x38]
push 0
push 0x3b9aca00
call fcn.004eaa70
test ebx, ebx
mov ecx, edx
jne 0x4ea84b
mov eax, dword [esp + 0x34]
jne 0x4ea84f
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 0x4ea875
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x4ea5a9
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
jmp 0x4ea60c
test ebx, ebx
je 0x4ea5c3
jmp 0x4ea5b9
xor esi, esi
xor ebp, ebp
jmp 0x4ea61e
xor ebx, ebx
xor ebp, ebp
jmp 0x4ea50d
push ebp
push dword [esp + 0x64]
push 0
push 0x3b9aca00
call fcn.004eaa70
test esi, esi
mov ecx, edx
jne 0x4ea8bc
mov eax, dword [esp + 0x60]
jne 0x4ea8c0
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 0x4ea8e6
xor edi, edi
mov esi, 1
xor ecx, ecx
jmp 0x4ea49b
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
jmp 0x4ea506
test esi, esi
je 0x4ea4b5
jmp 0x4ea4ab
xor ebx, ebx
xor ebp, ebp
jmp 0x4ea51b
xor esi, esi
xor edi, edi
jmp 0x4ea408
push dword [esp + 0x58]
push esi
push 0
push 0x3b9aca00
call fcn.004eaa70
test ebx, ebx
mov ecx, edx
jne 0x4ea92f
mov eax, esi
mov esi, eax
mov eax, edi
jne 0x4ea939
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 0x4ea95c
xor edi, edi
mov ebx, 1
xor ecx, ecx
jmp 0x4ea3a0
mov edi, edx
mov ebx, dword [esp + 0x54]
jmp 0x4ea404
test ebx, ebx
je 0x4ea3ba
jmp 0x4ea3b0
xor esi, esi
xor edi, edi
jmp 0x4ea416
xor edi, edi
xor ecx, ecx
jmp 0x4ea302
push dword [esp + 0x14]
push edi
push 0
push 0x3b9aca00
call fcn.004eaa70
test ebp, ebp
mov ecx, edx
jne 0x4ea99f
mov eax, edi
mov edi, eax
mov eax, esi
jne 0x4ea9a9
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 0x4ea9cb
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x4ea27c
mov ebx, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
jmp 0x4ea2fe
test ebp, ebp
je 0x4ea296
jmp 0x4ea28c
xor edi, edi
xor ecx, ecx
jmp 0x4ea310
xor ebx, ebx
xor ebp, ebp
jmp 0x4ea1d5
push dword [esp + 0xc]
push ebx
push 0
push 0x3b9aca00
call fcn.004eaa70
test ebp, ebp
mov ecx, edx
jne 0x4eaa16
mov eax, ebx
mov ebx, eax
mov eax, esi
jne 0x4eaa20
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 0x4eaa42
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x4ea16e
mov ebp, edx
mov esi, dword [esp + 8]
jmp 0x4ea1d1
test ebp, ebp
je 0x4ea188
jmp 0x4ea17e
xor ebx, ebx
xor ebp, ebp
jmp 0x4ea1e3
add esp, 0x88
pop ebp
pop ebx
pop edi
pop esi
ret 0xc