Function at 0x1004cdd8
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 0x1004cdf6
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 0x1004d4c1
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 0x1004d78f
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x1004ce50
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x1004ce47
cmp eax, 0x2d
jne 0x1004ce6c
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004d727
mov esi, 1
jmp 0x1004ce83
cmp eax, 0x2b
jne 0x1004ce75
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004d78f
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 0x1004d782
inc ecx
cmp ecx, 8
jg 0x1004d730
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004ce99
mov dword [esp + 0x20], esi
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
jle 0x1004cefc
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.1004d7a5
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x20]
adc ebp, edi
test esi, esi
je 0x1004cf0e
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 0x1004d71e
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x1004cf4a
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x1004cf41
cmp eax, 0x2d
jne 0x1004cf66
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004d6b0
mov esi, 1
jmp 0x1004cf7d
cmp eax, 0x2b
jne 0x1004cf6f
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004d71e
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 0x1004d711
inc ecx
cmp ecx, 8
jg 0x1004d6b9
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004cfa7
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 0x1004d029
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.1004d7a5
mov edi, eax
mov ecx, edx
add edi, dword [esp + 0x1c]
adc ecx, dword [esp + 0x28]
test esi, esi
je 0x1004d03b
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 0x1004d257
or ebx, ebp
je 0x1004d257
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 0x1004d6a7
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x1004d084
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x1004d07b
cmp eax, 0x2d
jne 0x1004d0a0
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004d63f
mov ebx, 1
jmp 0x1004d0b7
cmp eax, 0x2b
jne 0x1004d0a9
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004d6a7
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 0x1004d69a
inc ecx
cmp ecx, 8
jg 0x1004d648
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004d0cf
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
test ecx, ecx
jle 0x1004d132
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.1004d7a5
mov esi, eax
mov ebp, edx
add esi, dword [esp + 0x64]
adc ebp, edi
test ebx, ebx
je 0x1004d144
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 0x1004d636
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x1004d171
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x1004d168
cmp eax, 0x2d
jne 0x1004d190
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004d5ca
mov dword [esp + 0x70], 1
jmp 0x1004d1ad
cmp eax, 0x2b
jne 0x1004d199
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004d636
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 0x1004d629
inc ecx
cmp ecx, 8
jg 0x1004d5d3
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004d1c9
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
test ecx, ecx
jle 0x1004d234
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.1004d7a5
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x68]
adc edi, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0
je 0x1004d249
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 0x1004d257
or esi, ebp
jne 0x1004d04d
cmp dword [esp + 0x50], 0
jbe 0x1004d46a
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 0x1004d5c1
movsx eax, byte [ebp]
cmp eax, 0x20
jne 0x1004d292
inc ebp
movsx eax, byte [ebp]
cmp eax, 0x20
je 0x1004d288
cmp eax, 0x2d
jne 0x1004d2af
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004d55a
mov ebx, 1
jmp 0x1004d2c7
cmp eax, 0x2b
jne 0x1004d2b9
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x1004d5c1
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 0x1004d5b4
inc ecx
cmp ecx, 8
jg 0x1004d563
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004d2df
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jle 0x1004d343
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.1004d7a5
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x40]
adc edi, ebp
test ebx, ebx
je 0x1004d355
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 0x1004d551
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x1004d382
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x1004d379
cmp eax, 0x2d
jne 0x1004d3a1
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004d4e5
mov dword [esp + 0x4c], 1
jmp 0x1004d3be
cmp eax, 0x2b
jne 0x1004d3aa
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x1004d551
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 0x1004d544
inc ecx
cmp ecx, 8
jg 0x1004d4ee
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x1004d3da
mov dword [esp + 0x44], edi
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
test ecx, ecx
jle 0x1004d445
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.1004d7a5
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x44]
adc ebp, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x1004d45a
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 0x1004d46a
dec dword [esp + 0x50]
jne 0x1004d262
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
ja 0x1004d49b
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 0x1004ce1e
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 0x1004d4d8
push ebp
push dword [esp + 0xa4]
mov ecx, ebx
push eax
call fcn.1004cdd8
cmp edi, esi
jb 0x1004cdf4
jmp 0x1004d798
xor ebx, ebx
xor ebp, ebp
jmp 0x1004d44c
push ebp
push dword [esp + 0x40]
push 0
push 0x3b9aca00
call fcn.1004d7a5
test esi, esi
mov ecx, edx
jne 0x1004d509
mov eax, dword [esp + 0x3c]
jne 0x1004d50d
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 0x1004d533
xor edi, edi
mov esi, 1
xor ecx, ecx
jmp 0x1004d3da
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
jmp 0x1004d445
test esi, esi
je 0x1004d3f4
jmp 0x1004d3ea
xor ebx, ebx
xor ebp, ebp
jmp 0x1004d45a
xor esi, esi
xor edi, edi
jmp 0x1004d347
push dword [esp + 0x34]
push esi
push 0
push 0x3b9aca00
call fcn.1004d7a5
test ebx, ebx
mov ecx, edx
jne 0x1004d57c
mov eax, esi
mov esi, eax
mov eax, edi
jne 0x1004d586
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 0x1004d5a9
xor edi, edi
mov ebx, 1
xor ecx, ecx
jmp 0x1004d2df
mov edi, edx
mov ebx, dword [esp + 0x30]
jmp 0x1004d343
test ebx, ebx
je 0x1004d2f9
jmp 0x1004d2ef
xor esi, esi
xor edi, edi
jmp 0x1004d355
xor ebx, ebx
xor edi, edi
jmp 0x1004d23b
push edi
push dword [esp + 0x64]
push 0
push 0x3b9aca00
call fcn.1004d7a5
test ebp, ebp
mov ecx, edx
jne 0x1004d5ee
mov eax, dword [esp + 0x60]
jne 0x1004d5f2
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 0x1004d618
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x1004d1c9
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
jmp 0x1004d234
test ebp, ebp
je 0x1004d1e3
jmp 0x1004d1d9
xor ebx, ebx
xor edi, edi
jmp 0x1004d249
xor esi, esi
xor ebp, ebp
jmp 0x1004d136
push ebp
push dword [esp + 0x5c]
push 0
push 0x3b9aca00
call fcn.1004d7a5
test ebx, ebx
mov ecx, edx
jne 0x1004d663
mov eax, dword [esp + 0x58]
jne 0x1004d667
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 0x1004d68d
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x1004d0cf
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
jmp 0x1004d132
test ebx, ebx
je 0x1004d0e9
jmp 0x1004d0df
xor esi, esi
xor ebp, ebp
jmp 0x1004d144
xor edi, edi
xor ecx, ecx
jmp 0x1004d02d
push dword [esp + 0x14]
push edi
push 0
push 0x3b9aca00
call fcn.1004d7a5
test ebp, ebp
mov ecx, edx
jne 0x1004d6d2
mov eax, edi
mov edi, eax
mov eax, esi
jne 0x1004d6dc
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 0x1004d6fe
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x1004cfa7
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ecx, edx
mov esi, dword [esp + 0x10]
jmp 0x1004d029
test ebp, ebp
je 0x1004cfc1
jmp 0x1004cfb7
xor edi, edi
xor ecx, ecx
jmp 0x1004d03b
xor ebx, ebx
xor ebp, ebp
jmp 0x1004cf00
push ebp
push dword [esp + 0x10]
push 0
push 0x3b9aca00
call fcn.1004d7a5
test ebx, ebx
mov ecx, edx
jne 0x1004d74b
mov eax, dword [esp + 0xc]
jne 0x1004d74f
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 0x1004d775
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x1004ce99
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
jmp 0x1004cefc
test ebx, ebx
je 0x1004ceb3
jmp 0x1004cea9
xor ebx, ebx
xor ebp, ebp
jmp 0x1004cf0e
add esp, 0x88
pop ebp
pop ebx
pop edi
pop esi
ret 0xc