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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0xd4
mov ebp, ecx
mov eax, dword [esp + 0xec]
mov ebx, eax
mov esi, dword [esp + 0xe8]
jmp 0x100516c0
mov edx, edi
mov edi, edx
lea ecx, [esi + edx]
shr ecx, 1
mov eax, esi
mov ecx, dword [ebp + ecx*4]
cmp edx, esi
ja 0x10051fff
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x6c], eax
mov eax, dword [edx + ecx*4]
mov dword [esp + 0xac], eax
test eax, eax
je 0x1005260f
mov edx, eax
movsx esi, byte [edx]
cmp esi, 0x20
jne 0x10051742
mov ebx, eax
xor edx, edx
inc edx
lea ecx, [ebx + edx*2]
movsx esi, byte [ecx - 1]
lea eax, [ecx - 1]
cmp esi, 0x20
jne 0x10051742
movsx esi, byte [ecx]
mov eax, ecx
cmp esi, 0x20
je 0x10051728
cmp esi, 0x2d
jne 0x1005175e
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x1005201c
mov edi, 1
jmp 0x10051775
cmp esi, 0x2b
jne 0x10051767
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x1005260f
xor edi, edi
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x1c], edx
xor ebx, ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], 1
add esi, 0xffffffd0
jle 0x100525da
mov dword [esp + 0x44], 1
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], ebx
mov dword [esp + 0x40], edi
mov edi, eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
movsx ecx, byte [ebp + edi]
lea ebx, [ecx - 0x30]
cmp ebx, 9
ja 0x100517e5
inc ebp
lea ebx, [esi + esi*4]
lea esi, [ecx + ebx*2 - 0x30]
test esi, esi
jle 0x100525bf
inc edx
cmp edx, 8
jg 0x10052025
jmp 0x100517bc
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x40]
cmp dword [esp + 0x44], 0
jle 0x10051832
mov ecx, edx
mov eax, esi
cdq
mov eax, dword [esp + 0xec]
mov dword [esp + 0x50], edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xf0]
push dword [eax + ecx*4]
push ebx
push ebp
call fcn.10052625
mov ebp, eax
mov ebx, edx
add ebp, esi
adc ebx, dword [esp + 0x50]
test edi, edi
je 0x10051844
xor esi, esi
mov eax, ebp
xor ebp, ebp
mov edi, ebx
xor ebx, ebx
sub ebp, eax
sbb ebx, edi
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x100525b6
mov esi, eax
movsx esi, byte [esi]
cmp esi, 0x20
jne 0x10051883
mov edi, eax
xor edx, edx
inc edx
lea ecx, [edi + edx*2]
movsx esi, byte [ecx - 1]
lea eax, [ecx - 1]
cmp esi, 0x20
jne 0x1005187c
movsx esi, byte [edi + edx*2]
mov eax, ecx
cmp esi, 0x20
je 0x10051861
mov dword [esp + 0xb0], edi
cmp esi, 0x2d
jne 0x100518a2
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x100520b6
mov dword [esp + 0x54], 1
jmp 0x100518bf
cmp esi, 0x2b
jne 0x100518ab
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x100525b6
mov dword [esp + 0x54], 0
xor edi, edi
mov dword [esp + 0x20], edi
xor ecx, ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x18], 1
add esi, 0xffffffd0
jle 0x10052571
mov dword [esp + 0x48], 1
mov dword [esp + 0x84], ebx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x90], edi
mov edi, eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x18]
movsx ecx, byte [ebx + edi]
lea ebp, [ecx - 0x30]
cmp ebp, 9
ja 0x10051936
inc ebx
lea ebp, [esi + esi*4]
lea esi, [ecx + ebp*2 - 0x30]
test esi, esi
jle 0x10052556
inc edx
cmp edx, 8
jg 0x100520bf
jmp 0x1005190e
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov edi, dword [esp + 0x90]
cmp dword [esp + 0x48], 0
jle 0x1005199d
mov eax, esi
mov dword [esp + 0x84], ebx
cdq
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x4c], edx
mov eax, dword [eax + ebx*4]
cdq
push edx
mov eax, dword [esp + 0xf0]
push dword [eax + ebx*4]
push ecx
push edi
mov ebx, dword [esp + 0x94]
call fcn.10052625
mov edi, eax
mov ecx, edx
add edi, esi
adc ecx, dword [esp + 0x4c]
cmp dword [esp + 0x54], 0
je 0x100519b2
xor esi, esi
mov eax, edi
xor edi, edi
sub edi, eax
mov eax, ecx
mov ecx, esi
sbb ecx, eax
sub ebp, edi
sbb ebx, ecx
jl 0x10051cbc
or ebp, ebx
je 0x10051cbc
mov edx, dword [esp + 0xa8]
inc edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], edx
mov eax, dword [eax + edx*4]
mov dword [esp + 0xac], eax
test eax, eax
je 0x1005254d
mov edx, eax
movsx esi, byte [edx]
cmp esi, 0x20
jne 0x10051a14
mov ebx, eax
xor edx, edx
inc edx
lea ecx, [ebx + edx*2]
movsx esi, byte [ecx - 1]
lea eax, [ecx - 1]
cmp esi, 0x20
jne 0x10051a14
movsx esi, byte [ecx]
mov eax, ecx
cmp esi, 0x20
je 0x100519fa
cmp esi, 0x2d
jne 0x10051a30
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052159
mov edi, 1
jmp 0x10051a47
cmp esi, 0x2b
jne 0x10051a39
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x1005254d
xor edi, edi
xor edx, edx
xor ebp, ebp
mov dword [esp + 8], edx
xor ebx, ebx
mov dword [esp + 0x80], edx
mov dword [esp], 1
add esi, 0xffffffd0
jle 0x10052516
lea edx, [esp + 0x80]
mov dword [edx], 1
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x7c], edi
mov edi, eax
mov eax, dword [esp + 8]
mov edx, dword [edx]
mov ebp, dword [esp]
movsx ecx, byte [ebp + edi]
lea ebx, [ecx - 0x30]
cmp ebx, 9
ja 0x10051abb
inc ebp
lea ebx, [esi + esi*4]
lea esi, [ecx + ebx*2 - 0x30]
test esi, esi
jle 0x100524fb
inc edx
cmp edx, 8
jg 0x10052162
jmp 0x10051a92
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0x7c]
cmp dword [esp + 0x80], 0
jle 0x10051b14
mov ecx, edx
mov eax, esi
cdq
mov eax, dword [esp + 0xec]
mov dword [esp + 0x9c], edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xf0]
push dword [eax + ecx*4]
push ebx
push ebp
call fcn.10052625
mov ebp, eax
mov ebx, edx
add ebp, esi
adc ebx, dword [esp + 0x9c]
test edi, edi
je 0x10051b26
xor esi, esi
mov eax, ebp
xor ebp, ebp
mov edi, ebx
xor ebx, ebx
sub ebp, eax
sbb ebx, edi
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x100524f2
mov esi, eax
movsx esi, byte [esi]
cmp esi, 0x20
jne 0x10051b65
mov edi, eax
xor edx, edx
inc edx
lea ecx, [edi + edx*2]
movsx esi, byte [ecx - 1]
lea eax, [ecx - 1]
cmp esi, 0x20
jne 0x10051b5e
movsx esi, byte [edi + edx*2]
mov eax, ecx
cmp esi, 0x20
je 0x10051b43
mov dword [esp + 0xb0], edi
cmp esi, 0x2d
jne 0x10051b87
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x100521f3
mov dword [esp + 0xa0], 1
jmp 0x10051ba7
cmp esi, 0x2b
jne 0x10051b90
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x100524f2
mov dword [esp + 0xa0], 0
xor edi, edi
mov dword [esp + 0xc], edi
xor ecx, ecx
mov dword [esp + 0x94], edi
mov dword [esp + 4], 1
add esi, 0xffffffd0
jle 0x100524ad
lea edx, [esp + 0x94]
mov dword [edx], 1
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xd0], edi
mov edi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [edx]
mov ebx, dword [esp + 4]
movsx ecx, byte [ebx + edi]
lea ebp, [ecx - 0x30]
cmp ebp, 9
ja 0x10051c24
inc ebx
lea ebp, [esi + esi*4]
lea esi, [ecx + ebp*2 - 0x30]
test esi, esi
jle 0x10052492
inc edx
cmp edx, 8
jg 0x100521fc
jmp 0x10051bfc
mov dword [esp + 0x94], edx
mov ecx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc8]
mov edi, dword [esp + 0xd0]
cmp dword [esp + 0x94], 0
jle 0x10051c9a
mov eax, esi
mov dword [esp + 0xc4], ebx
cdq
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x98], edx
mov eax, dword [eax + ebx*4]
cdq
push edx
mov eax, dword [esp + 0xf0]
push dword [eax + ebx*4]
push ecx
push edi
mov ebx, dword [esp + 0xd4]
call fcn.10052625
mov edi, eax
mov ecx, edx
add edi, esi
adc ecx, dword [esp + 0x98]
cmp dword [esp + 0xa0], 0
je 0x10051cb2
xor esi, esi
mov eax, edi
xor edi, edi
sub edi, eax
mov eax, ecx
mov ecx, esi
sbb ecx, eax
sub ebp, edi
sbb ebx, ecx
jge 0x100519bc
cmp dword [esp + 0x78], 0
jbe 0x10051f96
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x78]
mov eax, dword [eax + edx*4]
mov ecx, eax
test eax, eax
je 0x10052489
movsx esi, byte [eax]
cmp esi, 0x20
jne 0x10051d09
xor edx, edx
inc edx
lea ebx, [ecx + edx*2]
movsx esi, byte [ebx - 1]
lea eax, [ebx - 1]
cmp esi, 0x20
jne 0x10051d09
mov eax, ebx
movsx esi, byte [eax]
cmp esi, 0x20
je 0x10051cef
cmp esi, 0x2d
jne 0x10051d25
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052296
mov edi, 1
jmp 0x10051d3c
cmp esi, 0x2b
jne 0x10051d2e
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052489
xor edi, edi
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x30], edx
xor ebx, ebx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x28], 1
add esi, 0xffffffd0
jle 0x10052454
mov dword [esp + 0x5c], 1
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x58], edi
mov edi, eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x28]
movsx ecx, byte [ebp + edi]
lea ebx, [ecx - 0x30]
cmp ebx, 9
ja 0x10051dac
inc ebp
lea ebx, [esi + esi*4]
lea esi, [ecx + ebx*2 - 0x30]
test esi, esi
jle 0x10052439
inc edx
cmp edx, 8
jg 0x1005229f
jmp 0x10051d83
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x5c], 0
jle 0x10051df9
mov ecx, edx
mov eax, esi
cdq
mov eax, dword [esp + 0xec]
mov dword [esp + 0x68], edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xf0]
push dword [eax + ecx*4]
push ebx
push ebp
call fcn.10052625
mov ebp, eax
mov ebx, edx
add ebp, esi
adc ebx, dword [esp + 0x68]
test edi, edi
je 0x10051e0b
xor esi, esi
mov eax, ebp
xor ebp, ebp
mov edi, ebx
xor ebx, ebx
sub ebp, eax
sbb ebx, edi
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x10052430
mov esi, eax
movsx esi, byte [esi]
cmp esi, 0x20
jne 0x10051e4a
mov edi, eax
xor edx, edx
inc edx
lea ecx, [edi + edx*2]
movsx esi, byte [ecx - 1]
lea eax, [ecx - 1]
cmp esi, 0x20
jne 0x10051e43
movsx esi, byte [edi + edx*2]
mov eax, ecx
cmp esi, 0x20
je 0x10051e28
mov dword [esp + 0xb0], edi
cmp esi, 0x2d
jne 0x10051e69
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052330
mov dword [esp + 0x74], 1
jmp 0x10051e86
cmp esi, 0x2b
jne 0x10051e72
inc eax
movsx esi, byte [eax]
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052430
mov dword [esp + 0x74], 0
xor edi, edi
mov dword [esp + 0x34], edi
xor ecx, ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x2c], 1
add esi, 0xffffffd0
jle 0x100523eb
mov dword [esp + 0x60], 1
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xc0], edi
mov edi, eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
movsx ecx, byte [ebx + edi]
lea ebp, [ecx - 0x30]
cmp ebp, 9
ja 0x10051efd
inc ebx
lea ebp, [esi + esi*4]
lea esi, [ecx + ebp*2 - 0x30]
test esi, esi
jle 0x100523d3
inc edx
cmp edx, 8
jg 0x10052339
jmp 0x10051ed5
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0xc0]
cmp dword [esp + 0x60], 0
jle 0x10051f64
mov eax, esi
mov dword [esp + 0xb4], ebx
cdq
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], edx
mov eax, dword [eax + ebx*4]
cdq
push edx
mov eax, dword [esp + 0xf0]
push dword [eax + ebx*4]
push ecx
push edi
mov ebx, dword [esp + 0xc4]
call fcn.10052625
mov edi, eax
mov ecx, edx
add edi, esi
adc ecx, dword [esp + 0x64]
cmp dword [esp + 0x74], 0
je 0x10051f79
xor esi, esi
mov eax, edi
xor edi, edi
sub edi, eax
mov eax, ecx
mov ecx, esi
sbb ecx, eax
sub ebp, edi
sbb ebx, ecx
jge 0x10051f96
mov eax, dword [esp + 0x70]
inc eax
dec dword [esp + 0x78]
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0x6c]
jb 0x10051ccd
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0x78]
ja 0x10051fd3
mov esi, eax
mov ebp, dword [esp + 0x78]
xor eax, eax
mov ebx, dword [esp + 0xa4]
cmp eax, ebp
mov ecx, dword [esp + 0xac]
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 + 0x78], ebp
mov dword [esp + 0xa8], esi
mov eax, dword [esp + 0xa8]
cmp eax, dword [esp + 0x78]
jbe 0x100516f2
mov edi, eax
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xec]
lea eax, [edi - 1]
cmp edx, eax
jae 0x1005200f
push ebx
mov ecx, ebp
push eax
call fcn.100516a0
cmp edi, esi
jb 0x100516be
jmp 0x10052618
xor ebp, ebp
xor ebx, ebx
jmp 0x10051836
test eax, eax
jne 0x10052039
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
jmp 0x10052059
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
push ebx
push ecx
push 0
push 0x3b9aca00
call fcn.10052625
mov ecx, eax
mov ebx, edx
mov eax, esi
add ecx, esi
movsx esi, byte [ebp + edi]
cdq
adc ebx, edx
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x100520ab
inc ebp
mov eax, 1
xor edx, edx
add esi, 0xffffffd0
jle 0x10052092
mov dword [esp + 0x84], ebx
mov edx, 1
mov dword [esp + 0x88], ecx
jmp 0x100517bc
inc edx
cmp edx, 8
jg 0x10052047
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ecx
jmp 0x100517bc
mov edi, dword [esp + 0x40]
mov ebp, ecx
jmp 0x10051832
xor edi, edi
xor ecx, ecx
jmp 0x100519a4
test eax, eax
jne 0x100520d3
mov ecx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
jmp 0x100520f3
mov ecx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
push ecx
push ebp
push 0
push 0x3b9aca00
call fcn.10052625
mov ebp, eax
mov ecx, edx
mov eax, esi
add ebp, esi
movsx esi, byte [ebx + edi]
cdq
adc ecx, edx
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052144
inc ebx
mov eax, 1
xor edx, edx
add esi, 0xffffffd0
jle 0x1005212b
mov dword [esp + 0x8c], ecx
mov edx, 1
mov dword [esp + 0x90], ebp
jmp 0x1005190e
inc edx
cmp edx, 8
jg 0x100520e1
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ebp
jmp 0x1005190e
mov ebx, dword [esp + 0x84]
mov edi, ebp
mov ebp, dword [esp + 0x88]
jmp 0x1005199d
xor ebp, ebp
xor ebx, ebx
jmp 0x10051b18
test eax, eax
jne 0x10052176
mov ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
jmp 0x10052196
mov ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
push ebx
push ecx
push 0
push 0x3b9aca00
call fcn.10052625
mov ecx, eax
mov ebx, edx
mov eax, esi
add ecx, esi
movsx esi, byte [ebp + edi]
cdq
adc ebx, edx
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x100521e8
inc ebp
mov eax, 1
xor edx, edx
add esi, 0xffffffd0
jle 0x100521cf
mov dword [esp + 0xc4], ebx
mov edx, 1
mov dword [esp + 0xc8], ecx
jmp 0x10051a92
inc edx
cmp edx, 8
jg 0x10052184
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ecx
jmp 0x10051a92
mov edi, dword [esp + 0x7c]
mov ebp, ecx
jmp 0x10051b14
xor edi, edi
xor ecx, ecx
jmp 0x10051ca4
test eax, eax
jne 0x10052210
mov ecx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xd0]
jmp 0x10052230
mov ecx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xd0]
push ecx
push ebp
push 0
push 0x3b9aca00
call fcn.10052625
mov ebp, eax
mov ecx, edx
mov eax, esi
add ebp, esi
movsx esi, byte [ebx + edi]
cdq
adc ecx, edx
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052281
inc ebx
mov eax, 1
xor edx, edx
add esi, 0xffffffd0
jle 0x10052268
mov dword [esp + 0xcc], ecx
mov edx, 1
mov dword [esp + 0xd0], ebp
jmp 0x10051bfc
inc edx
cmp edx, 8
jg 0x1005221e
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ebp
jmp 0x10051bfc
mov ebx, dword [esp + 0xc4]
mov edi, ebp
mov ebp, dword [esp + 0xc8]
jmp 0x10051c9a
xor ebp, ebp
xor ebx, ebx
jmp 0x10051dfd
test eax, eax
jne 0x100522b3
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
jmp 0x100522d3
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
push ebx
push ecx
push 0
push 0x3b9aca00
call fcn.10052625
mov ecx, eax
mov ebx, edx
mov eax, esi
add ecx, esi
movsx esi, byte [ebp + edi]
cdq
adc ebx, edx
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x10052325
inc ebp
mov eax, 1
xor edx, edx
add esi, 0xffffffd0
jle 0x1005230c
mov dword [esp + 0xb4], ebx
mov edx, 1
mov dword [esp + 0xb8], ecx
jmp 0x10051d83
inc edx
cmp edx, 8
jg 0x100522c1
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ecx
jmp 0x10051d83
mov edi, dword [esp + 0x58]
mov ebp, ecx
jmp 0x10051df9
xor edi, edi
xor ecx, ecx
jmp 0x10051f6b
test eax, eax
jne 0x1005234d
mov ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
jmp 0x1005236d
mov ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
push ecx
push ebp
push 0
push 0x3b9aca00
call fcn.10052625
mov ebp, eax
mov ecx, edx
mov eax, esi
add ebp, esi
movsx esi, byte [ebx + edi]
cdq
adc ecx, edx
lea edx, [esi - 0x30]
cmp edx, 9
ja 0x100523be
inc ebx
mov eax, 1
xor edx, edx
add esi, 0xffffffd0
jle 0x100523a5
mov dword [esp + 0xbc], ecx
mov edx, 1
mov dword [esp + 0xc0], ebp
jmp 0x10051ed5
inc edx
cmp edx, 8
jg 0x1005235b
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ebp
jmp 0x10051ed5
mov ebx, dword [esp + 0xb4]
mov edi, ebp
mov ebp, dword [esp + 0xb8]
jmp 0x10051f64
test eax, eax
je 0x10051ed5
mov ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
jmp 0x100523a5
movsx edx, byte [eax + 1]
mov dword [esp + 0x38], edx
lea edx, [edx - 0x30]
cmp edx, 9
ja 0x10051f64
mov edx, edi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xc0], edi
mov edi, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
jmp 0x10051ee1
xor edi, edi
xor ecx, ecx
jmp 0x10051f79
test eax, eax
je 0x10051d83
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
jmp 0x1005230c
movsx ecx, byte [eax + 1]
lea edx, [ecx - 0x30]
cmp edx, 9
ja 0x10051df9
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x58], edi
mov edi, eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x28]
jmp 0x10051d90
xor ebp, ebp
xor ebx, ebx
jmp 0x10051e0b
test eax, eax
je 0x10051bfc
mov ecx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xd0]
jmp 0x10052268
movsx edx, byte [eax + 1]
mov dword [esp + 0x10], edx
lea edx, [edx - 0x30]
cmp edx, 9
ja 0x10051c9a
mov edx, edi
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xd0], edi
mov edi, eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 4]
jmp 0x10051c08
xor edi, edi
xor ecx, ecx
jmp 0x10051cb2
test eax, eax
je 0x10051a92
mov ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
jmp 0x100521cf
movsx ecx, byte [eax + 1]
lea edx, [ecx - 0x30]
cmp edx, 9
ja 0x10051b14
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x7c], edi
mov edi, eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x80]
mov ebp, dword [esp]
jmp 0x10051a9f
xor ebp, ebp
xor ebx, ebx
jmp 0x10051b26
test eax, eax
je 0x1005190e
mov ecx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
jmp 0x1005212b
movsx edx, byte [eax + 1]
mov dword [esp + 0x24], edx
lea edx, [edx - 0x30]
cmp edx, 9
ja 0x1005199d
mov edx, edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x90], edi
mov edi, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
jmp 0x1005191a
xor edi, edi
xor ecx, ecx
jmp 0x100519b2
test eax, eax
je 0x100517bc
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
jmp 0x10052092
movsx ecx, byte [eax + 1]
lea edx, [ecx - 0x30]
cmp edx, 9
ja 0x10051832
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], ebx
mov dword [esp + 0x40], edi
mov edi, eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
jmp 0x100517c9
xor ebp, ebp
xor ebx, ebx
jmp 0x10051844
add esp, 0xd4
pop ebp
pop ebx
pop edi
pop esi
ret 8