Function at 0x42c8e9
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 0x42c907
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 0x42cfd2
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 0x42d2a0
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x42c961
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x42c958
cmp eax, 0x2d
jne 0x42c97d
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x42d238
mov esi, 1
jmp 0x42c994
cmp eax, 0x2b
jne 0x42c986
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x42d2a0
xor esi, esi
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x20], edx
xor ebx, ebx
mov dword [esp + 8], esi
xor ebp, ebp
mov dword [esp + 0xc], ebx
mov esi, edx
inc edi
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x42d293
inc ecx
cmp ecx, 8
jg 0x42d241
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x42c9aa
mov dword [esp + 0x20], esi
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
jle 0x42ca0d
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.0042d2b6
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x20]
adc ebp, edi
test esi, esi
je 0x42ca1f
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 0x42d22f
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x42ca5b
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x42ca52
cmp eax, 0x2d
jne 0x42ca77
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x42d1c1
mov esi, 1
jmp 0x42ca8e
cmp eax, 0x2b
jne 0x42ca80
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x42d22f
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 + 0x18], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 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 0x42d222
inc ecx
cmp ecx, 8
jg 0x42d1ca
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x42cab8
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x24], 0
jle 0x42cb3a
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
cdq
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x28], edx
mov eax, dword [eax + ebp*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ebp*4]
push ecx
push edi
mov ebp, dword [esp + 0x28]
call fcn.0042d2b6
mov edi, eax
mov ecx, edx
add edi, dword [esp + 0x1c]
adc ecx, dword [esp + 0x28]
test esi, esi
je 0x42cb4c
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
jl 0x42cd68
or ebx, ebp
je 0x42cd68
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 edi, dword [ecx + ebx]
test edi, edi
je 0x42d1b8
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x42cb95
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x42cb8c
cmp eax, 0x2d
jne 0x42cbb1
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x42d150
mov ebx, 1
jmp 0x42cbc8
cmp eax, 0x2b
jne 0x42cbba
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x42d1b8
xor ebx, ebx
xor edx, edx
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x64], edx
xor ebp, ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov ebx, edx
mov esi, edx
inc edi
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x42d1ab
inc ecx
cmp ecx, 8
jg 0x42d159
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x42cbe0
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
test ecx, ecx
jle 0x42cc43
mov eax, dword [esp + 0x64]
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.0042d2b6
mov esi, eax
mov ebp, edx
add esi, dword [esp + 0x64]
adc ebp, edi
test ebx, ebx
je 0x42cc55
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 0x42d147
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x42cc82
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x42cc79
cmp eax, 0x2d
jne 0x42cca1
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x42d0db
mov dword [esp + 0x70], 1
jmp 0x42ccbe
cmp eax, 0x2b
jne 0x42ccaa
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x42d147
mov dword [esp + 0x70], 0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x68], ecx
xor edi, edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], 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 0x42d13a
inc ecx
cmp ecx, 8
jg 0x42d0e4
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x42ccda
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
test ecx, ecx
jle 0x42cd45
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 edi
push ebx
call fcn.0042d2b6
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x68]
adc edi, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0
je 0x42cd5a
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 0x42cd68
or esi, ebp
jne 0x42cb5e
cmp dword [esp + 0x50], 0
jbe 0x42cf7b
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + edx*4]
mov ebp, dword [ecx + ebx]
test ebp, ebp
je 0x42d0d2
movsx eax, byte [ebp]
cmp eax, 0x20
jne 0x42cda3
inc ebp
movsx eax, byte [ebp]
cmp eax, 0x20
je 0x42cd99
cmp eax, 0x2d
jne 0x42cdc0
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x42d06b
mov ebx, 1
jmp 0x42cdd8
cmp eax, 0x2b
jne 0x42cdca
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x42d0d2
xor ebx, ebx
xor edx, edx
xor ecx, ecx
xor esi, esi
xor edi, edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov ebx, edx
mov edi, edx
inc ebp
lea edi, [edi + edi*4]
lea edi, [eax + edi*2 - 0x30]
test edi, edi
jle 0x42d0c5
inc ecx
cmp ecx, 8
jg 0x42d074
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x42cdf0
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jle 0x42ce54
mov eax, dword [esp + 0x40]
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.0042d2b6
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x40]
adc edi, ebp
test ebx, ebx
je 0x42ce66
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 0x42d062
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x42ce93
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x42ce8a
cmp eax, 0x2d
jne 0x42ceb2
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x42cff6
mov dword [esp + 0x4c], 1
jmp 0x42cecf
cmp eax, 0x2b
jne 0x42cebb
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x42d062
mov dword [esp + 0x4c], 0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x44], ecx
xor ebp, ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], 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 0x42d055
inc ecx
cmp ecx, 8
jg 0x42cfff
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x42ceeb
mov dword [esp + 0x44], edi
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
test ecx, ecx
jle 0x42cf56
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 ebp
push ebx
call fcn.0042d2b6
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x44]
adc ebp, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x42cf6b
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
jge 0x42cf7b
dec dword [esp + 0x50]
jne 0x42cd73
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
ja 0x42cfac
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 0x42c92f
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 0x42cfe9
push ebp
push dword [esp + 0xa4]
mov ecx, ebx
push eax
call fcn.0042c8e9
cmp edi, esi
jb 0x42c905
jmp 0x42d2a9
xor ebx, ebx
xor ebp, ebp
jmp 0x42cf5d
push ebp
push dword [esp + 0x40]
push 0
push 0x3b9aca00
call fcn.0042d2b6
test esi, esi
mov ecx, edx
jne 0x42d01a
mov eax, dword [esp + 0x3c]
jne 0x42d01e
mov ecx, ebp
add eax, edi
mov dword [esp + 0x3c], eax
mov eax, edi
cdq
movsx eax, byte [ebx]
mov ebp, edx
adc ebp, ecx
lea esi, [eax - 0x30]
cmp esi, 9
ja 0x42d044
xor edi, edi
mov esi, 1
xor ecx, ecx
jmp 0x42ceeb
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
jmp 0x42cf56
test esi, esi
je 0x42cf05
jmp 0x42cefb
xor ebx, ebx
xor ebp, ebp
jmp 0x42cf6b
xor esi, esi
xor edi, edi
jmp 0x42ce58
push dword [esp + 0x34]
push esi
push 0
push 0x3b9aca00
call fcn.0042d2b6
test ebx, ebx
mov ecx, edx
jne 0x42d08d
mov eax, esi
mov esi, eax
mov eax, edi
jne 0x42d097
mov ecx, dword [esp + 0x34]
cdq
movsx eax, byte [ebp]
add esi, edi
adc edx, ecx
mov dword [esp + 0x34], edx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x42d0ba
xor edi, edi
mov ebx, 1
xor ecx, ecx
jmp 0x42cdf0
mov edi, edx
mov ebx, dword [esp + 0x30]
jmp 0x42ce54
test ebx, ebx
je 0x42ce0a
jmp 0x42ce00
xor esi, esi
xor edi, edi
jmp 0x42ce66
xor ebx, ebx
xor edi, edi
jmp 0x42cd4c
push edi
push dword [esp + 0x64]
push 0
push 0x3b9aca00
call fcn.0042d2b6
test ebp, ebp
mov ecx, edx
jne 0x42d0ff
mov eax, dword [esp + 0x60]
jne 0x42d103
mov ecx, edi
add eax, esi
mov dword [esp + 0x60], eax
mov eax, esi
cdq
movsx eax, byte [ebx]
mov edi, edx
adc edi, ecx
lea ebp, [eax - 0x30]
cmp ebp, 9
ja 0x42d129
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x42ccda
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
jmp 0x42cd45
test ebp, ebp
je 0x42ccf4
jmp 0x42ccea
xor ebx, ebx
xor edi, edi
jmp 0x42cd5a
xor esi, esi
xor ebp, ebp
jmp 0x42cc47
push ebp
push dword [esp + 0x5c]
push 0
push 0x3b9aca00
call fcn.0042d2b6
test ebx, ebx
mov ecx, edx
jne 0x42d174
mov eax, dword [esp + 0x58]
jne 0x42d178
mov ecx, ebp
add eax, esi
mov dword [esp + 0x58], eax
mov eax, esi
cdq
movsx eax, byte [edi]
mov ebp, edx
adc ebp, ecx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x42d19e
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x42cbe0
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
jmp 0x42cc43
test ebx, ebx
je 0x42cbfa
jmp 0x42cbf0
xor esi, esi
xor ebp, ebp
jmp 0x42cc55
xor edi, edi
xor ecx, ecx
jmp 0x42cb3e
push dword [esp + 0x14]
push edi
push 0
push 0x3b9aca00
call fcn.0042d2b6
test ebp, ebp
mov ecx, edx
jne 0x42d1e3
mov eax, edi
mov edi, eax
mov eax, esi
jne 0x42d1ed
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 0x42d20f
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x42cab8
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ecx, edx
mov esi, dword [esp + 0x10]
jmp 0x42cb3a
test ebp, ebp
je 0x42cad2
jmp 0x42cac8
xor edi, edi
xor ecx, ecx
jmp 0x42cb4c
xor ebx, ebx
xor ebp, ebp
jmp 0x42ca11
push ebp
push dword [esp + 0x10]
push 0
push 0x3b9aca00
call fcn.0042d2b6
test ebx, ebx
mov ecx, edx
jne 0x42d25c
mov eax, dword [esp + 0xc]
jne 0x42d260
mov ecx, ebp
add eax, esi
mov dword [esp + 0xc], eax
mov eax, esi
cdq
movsx eax, byte [edi]
mov ebp, edx
adc ebp, ecx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x42d286
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x42c9aa
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
jmp 0x42ca0d
test ebx, ebx
je 0x42c9c4
jmp 0x42c9ba
xor ebx, ebx
xor ebp, ebp
jmp 0x42ca1f
add esp, 0x88
pop ebp
pop ebx
pop edi
pop esi
ret 0xc