Function at 0x1004c3b3
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 0x1004c3d1
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 0x1004ca94
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 0x1004cd60
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x1004c42b
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x1004c422
cmp eax, 0x2d
jne 0x1004c447
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004ccfa
mov esi, 1
jmp 0x1004c45e
cmp eax, 0x2b
jne 0x1004c450
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004cd60
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 0x1004cd53
inc ecx
cmp ecx, 8
jg 0x1004cd03
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004c474
mov dword [esp + 0x20], esi
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
jle 0x1004c4d7
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.1004cd76
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x20]
adc ebp, edi
test esi, esi
je 0x1004c4e9
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 0x1004ccf1
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x1004c525
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x1004c51c
cmp eax, 0x2d
jne 0x1004c541
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004cc83
mov esi, 1
jmp 0x1004c558
cmp eax, 0x2b
jne 0x1004c54a
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004ccf1
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 0x1004cce4
inc ecx
cmp ecx, 8
jg 0x1004cc8c
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004c582
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 0x1004c604
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.1004cd76
mov edi, eax
mov ecx, edx
add edi, dword [esp + 0x1c]
adc ecx, dword [esp + 0x28]
test esi, esi
je 0x1004c616
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 0x1004c82b
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 0x1004cc7a
movsx eax, byte [ebp]
cmp eax, 0x20
jne 0x1004c659
inc ebp
movsx eax, byte [ebp]
cmp eax, 0x20
je 0x1004c64f
cmp eax, 0x2d
jne 0x1004c676
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004cc13
mov ebx, 1
jmp 0x1004c68e
cmp eax, 0x2b
jne 0x1004c680
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004cc7a
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 0x1004cc6d
inc ecx
cmp ecx, 8
jg 0x1004cc1c
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004c6a6
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
test ecx, ecx
jle 0x1004c70a
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.1004cd76
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x64]
adc edi, ebp
test ebx, ebx
je 0x1004c71c
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 0x1004cc0a
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x1004c749
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x1004c740
cmp eax, 0x2d
jne 0x1004c768
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004cb9e
mov dword [esp + 0x70], 1
jmp 0x1004c785
cmp eax, 0x2b
jne 0x1004c771
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004cc0a
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 0x1004cbfd
inc ecx
cmp ecx, 8
jg 0x1004cba7
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004c7a1
mov dword [esp + 0x68], edi
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
test ecx, ecx
jle 0x1004c80c
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.1004cd76
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x68]
adc ebp, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0
je 0x1004c821
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 0x1004c620
cmp dword [esp + 0x50], 0
jbe 0x1004ca3d
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 0x1004cb95
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x1004c864
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x1004c85b
cmp eax, 0x2d
jne 0x1004c880
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004cb2d
mov ebx, 1
jmp 0x1004c897
cmp eax, 0x2b
jne 0x1004c889
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004cb95
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 0x1004cb88
inc ecx
cmp ecx, 8
jg 0x1004cb36
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004c8af
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jle 0x1004c912
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.1004cd76
mov esi, eax
mov ebp, edx
add esi, dword [esp + 0x40]
adc ebp, edi
test ebx, ebx
je 0x1004c924
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 0x1004cb24
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x1004c951
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x1004c948
cmp eax, 0x2d
jne 0x1004c970
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004cab8
mov dword [esp + 0x4c], 1
jmp 0x1004c98d
cmp eax, 0x2b
jne 0x1004c979
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004cb24
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 0x1004cb17
inc ecx
cmp ecx, 8
jg 0x1004cac1
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004c9a9
mov dword [esp + 0x44], esi
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
test ecx, ecx
jle 0x1004ca14
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.1004cd76
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x44]
adc edi, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x1004ca29
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 0x1004ca3d
or esi, ebp
je 0x1004ca3d
dec dword [esp + 0x50]
jne 0x1004c836
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
ja 0x1004ca6e
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 0x1004c3f9
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 0x1004caab
push ebp
push dword [esp + 0xa4]
mov ecx, ebx
push eax
call fcn.1004c3b3
cmp edi, esi
jb 0x1004c3cf
jmp 0x1004cd69
xor ebx, ebx
xor edi, edi
jmp 0x1004ca1b
push edi
push dword [esp + 0x40]
push 0
push 0x3b9aca00
call fcn.1004cd76
test ebp, ebp
mov ecx, edx
jne 0x1004cadc
mov eax, dword [esp + 0x3c]
jne 0x1004cae0
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 0x1004cb06
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x1004c9a9
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x3c]
jmp 0x1004ca14
test ebp, ebp
je 0x1004c9c3
jmp 0x1004c9b9
xor ebx, ebx
xor edi, edi
jmp 0x1004ca29
xor esi, esi
xor ebp, ebp
jmp 0x1004c916
push ebp
push dword [esp + 0x38]
push 0
push 0x3b9aca00
call fcn.1004cd76
test ebx, ebx
mov ecx, edx
jne 0x1004cb51
mov eax, dword [esp + 0x34]
jne 0x1004cb55
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 0x1004cb7b
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x1004c8af
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
jmp 0x1004c912
test ebx, ebx
je 0x1004c8c9
jmp 0x1004c8bf
xor esi, esi
xor ebp, ebp
jmp 0x1004c924
xor ebx, ebx
xor ebp, ebp
jmp 0x1004c813
push ebp
push dword [esp + 0x64]
push 0
push 0x3b9aca00
call fcn.1004cd76
test esi, esi
mov ecx, edx
jne 0x1004cbc2
mov eax, dword [esp + 0x60]
jne 0x1004cbc6
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 0x1004cbec
xor edi, edi
mov esi, 1
xor ecx, ecx
jmp 0x1004c7a1
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
jmp 0x1004c80c
test esi, esi
je 0x1004c7bb
jmp 0x1004c7b1
xor ebx, ebx
xor ebp, ebp
jmp 0x1004c821
xor esi, esi
xor edi, edi
jmp 0x1004c70e
push dword [esp + 0x58]
push esi
push 0
push 0x3b9aca00
call fcn.1004cd76
test ebx, ebx
mov ecx, edx
jne 0x1004cc35
mov eax, esi
mov esi, eax
mov eax, edi
jne 0x1004cc3f
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 0x1004cc62
xor edi, edi
mov ebx, 1
xor ecx, ecx
jmp 0x1004c6a6
mov edi, edx
mov ebx, dword [esp + 0x54]
jmp 0x1004c70a
test ebx, ebx
je 0x1004c6c0
jmp 0x1004c6b6
xor esi, esi
xor edi, edi
jmp 0x1004c71c
xor edi, edi
xor ecx, ecx
jmp 0x1004c608
push dword [esp + 0x14]
push edi
push 0
push 0x3b9aca00
call fcn.1004cd76
test ebp, ebp
mov ecx, edx
jne 0x1004cca5
mov eax, edi
mov edi, eax
mov eax, esi
jne 0x1004ccaf
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 0x1004ccd1
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x1004c582
mov ebx, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
jmp 0x1004c604
test ebp, ebp
je 0x1004c59c
jmp 0x1004c592
xor edi, edi
xor ecx, ecx
jmp 0x1004c616
xor ebx, ebx
xor ebp, ebp
jmp 0x1004c4db
push dword [esp + 0xc]
push ebx
push 0
push 0x3b9aca00
call fcn.1004cd76
test ebp, ebp
mov ecx, edx
jne 0x1004cd1c
mov eax, ebx
mov ebx, eax
mov eax, esi
jne 0x1004cd26
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 0x1004cd48
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x1004c474
mov ebp, edx
mov esi, dword [esp + 8]
jmp 0x1004c4d7
test ebp, ebp
je 0x1004c48e
jmp 0x1004c484
xor ebx, ebx
xor ebp, ebp
jmp 0x1004c4e9
add esp, 0x88
pop ebp
pop ebx
pop edi
pop esi
ret 0xc