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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x98
mov ebx, edx
mov edi, ecx
mov esi, dword [ebp + 0xc]
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 0x44]
mov dword [ebp - 0x4c], eax
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x78], eax
mov eax, dword [ecx + 8]
test eax, eax
jne 0x10173489
cmp dword [edi + 0x78], 0
jne 0x10173482
mov eax, dword [edi]
test byte [eax + 0x50], 8
jne 0x10173482
mov byte [edi + 0x17], 1
mov ecx, edi
call fcn.1002fa90
mov edx, dword [ebx + 0x20]
mov ecx, dword [edx + 0x18]
mov edx, dword [edx + 0x34]
mov dword [ebp - 0x60], edx
movsx ebx, word [ecx + 0x22]
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xa4], ecx
dec ecx
mov dword [ebp - 0x8c], ecx
mov dword [edi + 0x38], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x24], xmm0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x48], edi
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], esi
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x20], eax
lea ecx, [eax + 2]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x70], eax
add eax, 3
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x18], eax
movzx eax, byte [edi + 0x11]
cmp eax, 0x5a
mov dword [ebp - 0x9c], ecx
je 0x10173c61
mov ecx, 2
cmp eax, 0x56
jne 0x10173529
cmp byte [edi + 0x10], 0x59
je 0x1017352c
mov edx, dword [edi + 0x18]
mov ecx, dword [ebp - 0x58]
call fcn.10177610
test eax, eax
je 0x1017352c
xor ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ecx + 0x2c]
lea eax, [esi + ebx]
add eax, 2
mov dword [ecx + 0x2c], eax
mov dword [ebp - 0x2c], eax
movzx edx, byte [edi + 0x11]
cmp edx, 0x58
je 0x10173555
mov dword [ebp - 0x5c], 0
mov ecx, eax
cmp edx, 0x56
jne 0x10173564
lea ecx, [esi + ebx]
add ecx, 3
mov edx, dword [ebp - 0x58]
mov dword [edx + 0x2c], ecx
mov dword [ebp - 0x5c], ecx
movzx edx, byte [edi + 0x12]
cmp edx, 0x58
mov dword [ebp - 0xa0], eax
je 0x1017357c
cmp edx, 0x56
jne 0x10173cdb
inc ecx
mov edx, dword [ebp - 0x58]
mov dword [edx + 0x2c], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x6c], esi
inc esi
mov dword [ebp - 0x94], 0
cmp byte [edi + 0x10], 0x4c
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x88], 0
mov eax, 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x54], ebx
je 0x10173620
xor edx, edx
cmp dword [ebp - 0x78], 0
mov edi, dword [ebp - 0x4c]
je 0x101735cd
mov edx, dword [ebp - 0x78]
mov edx, dword [edx]
mov eax, dword [edi + 0x4c]
add eax, esi
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x101735db
add eax, dword [ebx]
mov dword [ebp - 0x7c], eax
lea ebx, [edx + ecx]
lea eax, [edx + ecx]
inc eax
mov dword [ebp - 0x88], eax
lea edi, [edx + ebx]
inc edi
add ebx, edx
lea eax, [edx + ebx]
inc eax
add edx, edx
add edx, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x2c], edx
lea eax, [ecx + 1]
mov ebx, dword [ebp - 0x54]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x6c]
add eax, ebx
inc eax
mov dword [ebp - 0x80], eax
test bx, bx
mov ecx, dword [ebp - 0x50]
jle 0x10173659
xor ebx, ebx
lea eax, [esi + ebx]
mov edi, esi
mov esi, ecx
mov edx, 0x5e
push eax
push ebx
push dword [ebp - 0x60]
call fcn.10030110
mov ecx, esi
mov esi, edi
add esp, 0xc
inc ebx
cmp dword [ebp - 0x54], ebx
jne 0x10173636
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x98], eax
mov edi, ecx
mov edx, 0x61
push dword [ebp - 0x80]
push dword [ebp - 0x54]
push esi
call fcn.10030110
add esp, 0xc
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x74], 0
test edx, edx
je 0x1017374b
mov eax, dword [edx]
mov dword [ebp - 0x54], eax
add esi, dword [ebx + 0x4c]
xor eax, eax
mov edi, dword [ebp - 0x58]
mov ecx, edi
push eax
push eax
call fcn.1005d780
add esp, 8
mov dword [ebp - 0x74], eax
mov eax, dword [edi + 0x2c]
inc eax
mov dword [ebp - 0x6c], eax
mov dword [edi + 0x2c], eax
mov edi, dword [ebp - 0x50]
mov ecx, edi
mov edx, 0x5a
push dword [ebp - 0x54]
push dword [ebx + 0x44]
mov dword [ebp - 0x60], esi
push esi
call fcn.10030110
add esp, 0xc
mov ebx, eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x10173ce7
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov edx, dword [ebp - 0x74]
mov dword [eax + ecx*4 - 4], edx
lea eax, [ebx + 2]
add ebx, 4
mov edi, dword [ebp - 0x50]
mov ecx, edi
mov edx, 0xe
push eax
push ebx
push eax
call fcn.10030110
add esp, 0xc
xor eax, eax
mov ecx, edi
mov edx, 0xa
push eax
push eax
push dword [ebp - 0x6c]
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x54]
dec eax
mov ecx, edi
mov edx, 0x50
push eax
mov ebx, dword [ebp - 0x4c]
push dword [ebx + 0x44]
push dword [ebp - 0x60]
call fcn.10030110
add esp, 0xc
mov ecx, edi
mov edx, 0x7f
xor eax, eax
push eax
mov ebx, dword [ebp - 0xa0]
push ebx
mov esi, dword [ebp - 0x98]
push esi
call fcn.10030110
add esp, 0xc
mov ecx, edi
mov edx, 0x80
push ebx
push dword [ebp - 0x80]
push esi
call fcn.10030110
add esp, 0xc
mov ecx, edi
mov edx, 0x34
push ebx
mov edi, dword [ebp - 0x4c]
xor eax, eax
push eax
push dword [edi + 0x54]
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x60], eax
test eax, eax
jne 0x101737c2
cmp dword [ecx + 0x78], 0
jne 0x101737ba
mov eax, dword [ecx]
test byte [eax + 0x50], 8
jne 0x101737ba
mov byte [ecx + 0x17], 1
call fcn.1002fa90
mov dword [ebp - 0x60], eax
xor esi, esi
mov ebx, esi
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x60]
mov edx, 0x4b
xor eax, eax
push eax
push dword [edi + 0x34]
push eax
call fcn.10030110
add esp, 0xc
mov eax, dword [edi + 0x48]
mov eax, dword [eax + 0x14]
mov esi, 0
test eax, eax
je 0x101737f4
mov esi, dword [eax]
cmp ebx, esi
cmovg esi, ebx
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x58], 0
je 0x1017380e
mov edi, dword [edi + 0x24]
test edi, edi
jne 0x101737c4
jmp 0x1017389a
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x20]
cmp eax, str.nth_value
je 0x10173822
cmp eax, str.first_value
jne 0x10173855
mov ebx, dword [ebp - 0x60]
mov ecx, ebx
mov edx, 0x47
xor eax, eax
push eax
push dword [edi + 0x40]
push eax
call fcn.10030110
add esp, 0xc
mov eax, dword [edi + 0x40]
inc eax
mov ecx, ebx
mov edx, 0x47
xor ebx, ebx
push ebx
xor ebx, ebx
push eax
push ebx
call fcn.10030110
add esp, 0xc
mov eax, dword [ebp - 0x54]
test byte [eax + 5], 0x10
je 0x10173802
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x10173802
mov ecx, dword [ebp - 0x60]
mov edx, 0x92
xor ebx, ebx
push ebx
xor ebx, ebx
push ebx
push eax
call fcn.10030110
add esp, 0xc
mov eax, dword [edi + 0x40]
inc eax
mov ecx, dword [ebp - 0x60]
mov edx, 0x47
xor ebx, ebx
push ebx
push eax
push ebx
call fcn.10030110
add esp, 0xc
jmp 0x10173802
mov edi, dword [ebp - 0x58]
mov eax, dword [edi + 0x2c]
lea ecx, [eax + 1]
add esi, eax
mov dword [edi + 0x2c], esi
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x5c], 0
je 0x101738de
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebx + 0x18]
mov ecx, edi
mov esi, dword [ebp - 0x5c]
push esi
call fcn.10020f70
add esp, 4
xor eax, eax
cmp byte [ebx + 0x10], 0x59
sete al
lea eax, [eax + eax*2]
mov ecx, edi
mov edx, esi
push eax
call fcn.10177680
add esp, 4
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x10173913
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebx + 0x1c]
mov edi, dword [ebp - 0x58]
mov ecx, edi
push esi
call fcn.10020f70
add esp, 4
xor eax, eax
cmp byte [ebx + 0x10], 0x59
sete al
lea eax, [eax + eax*2 + 1]
mov ecx, edi
mov edx, esi
push eax
call fcn.10177680
add esp, 4
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x10], 0x59
mov edi, dword [ebp - 0x68]
jne 0x10173b46
mov eax, dword [ebp - 0x4c]
mov al, byte [eax + 0x11]
cmp al, 0x56
jne 0x10173956
test esi, esi
je 0x1017395a
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x10], 0x59
je 0x1017395a
mov ecx, dword [ebp - 0x50]
mov edx, 0x6b
mov eax, dword [ebp - 0x5c]
push eax
push esi
push eax
call fcn.10030110
add esp, 0xc
mov eax, dword [ebp - 0x4c]
mov al, byte [eax + 0x11]
cmp al, 0x5a
je 0x10173974
xor eax, eax
mov ecx, dword [ebp - 0x50]
mov edx, 0x24
push eax
push eax
push dword [ebp - 0x9c]
call fcn.10030110
add esp, 0xc
xor eax, eax
mov esi, dword [ebp - 0x50]
mov ecx, esi
mov edx, 0x24
push eax
push eax
push dword [ebp - 0x70]
call fcn.10030110
add esp, 0xc
mov ecx, esi
xor esi, esi
mov edx, 0x24
push esi
push esi
push dword [ebp - 0x84]
call fcn.10030110
add esp, 0xc
test edi, edi
je 0x10173a26
cmp dword [ebp - 0x78], 0
je 0x10173a26
mov edi, dword [ebp - 0x78]
mov eax, dword [edi]
dec eax
mov esi, dword [ebp - 0x50]
mov ecx, esi
mov edx, 0x50
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x7c]
call fcn.10030110
add esp, 0xc
mov eax, dword [edi]
dec eax
mov ecx, esi
mov edx, 0x50
push eax
push dword [ebp - 0x88]
push dword [ebp - 0x68]
call fcn.10030110
add esp, 0xc
mov eax, dword [edi]
dec eax
mov ecx, esi
mov edx, 0x50
push eax
push dword [ebp - 0x90]
push dword [ebp - 0x68]
call fcn.10030110
add esp, 0xc
mov eax, dword [edi]
mov edi, dword [ebp - 0x68]
dec eax
mov ecx, esi
xor esi, esi
mov edx, 0x50
push eax
push dword [ebp - 0x94]
push edi
call fcn.10030110
add esp, 0xc
mov ecx, dword [ebp - 0x50]
mov edx, 9
push esi
push dword [ebp - 0x8c]
push esi
mov esi, ecx
call fcn.10030110
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x10173a5c
mov ecx, dword [ebp - 0x80]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
test edi, edi
mov esi, edi
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x7c]
je 0x10173a80
mov ecx, edi
mov edx, dword [ebp - 0x78]
push dword [ebp - 0x8c]
push esi
push eax
call fcn.101781f0
add esp, 0xc
mov eax, dword [ebp - 0x4c]
mov al, byte [eax + 0x11]
cmp al, 0x56
jne 0x10173c03
xor eax, eax
lea ecx, [ebp - 0x48]
mov edx, 3
push eax
push eax
call fcn.101782e0
add esp, 8
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x12], 0x5a
je 0x10173e10
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x10], 0x59
jne 0x10173dc6
mov esi, dword [edi + 0x38]
lea eax, [esi - 1]
mov dword [edi + 0x38], eax
mov edi, dword [ebp - 0x50]
mov ecx, dword [edi + 0x6c]
mov dword [ebp - 0x54], ecx
lea ecx, [ebp - 0x48]
mov edx, 0x39
push eax
push dword [ebp - 0x84]
push dword [ebp - 0x64]
push dword [ebp - 0x70]
call fcn.101787e0
add esp, 0x10
xor ebx, ebx
lea ecx, [ebp - 0x48]
mov edx, 2
push ebx
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
xor edx, edx
inc edx
lea ecx, [ebp - 0x48]
push ebx
push ebx
call fcn.101782e0
add esp, 8
mov ecx, edi
mov edx, 9
push ebx
push dword [ebp - 0x54]
push ebx
call fcn.10030110
add esp, 0xc
mov ecx, dword [edi + 0xc]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
jns 0x10174023
mov edx, edi
push esi
call fcn.100329e0
add esp, 4
jmp 0x10173e10
mov eax, dword [ebp - 0x4c]
mov al, byte [eax + 0x11]
cmp dword [ebp - 0x5c], 0
je 0x10173929
mov ecx, dword [ebp - 0x4c]
cmp al, byte [ecx + 0x12]
jne 0x10173929
xor ecx, ecx
cmp al, 0x56
sete cl
lea edx, [ecx + ecx]
add edx, 0x37
mov eax, esi
xor ebx, ebx
mov esi, dword [ebp - 0x50]
mov ecx, esi
push eax
push ebx
push dword [ebp - 0x5c]
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x48]
xor edx, edx
call fcn.10177840
mov ecx, esi
mov edx, 0x24
push ebx
push ebx
mov ebx, dword [ebp - 0x70]
push ebx
call fcn.10030110
add esp, 0xc
lea ecx, [ebp - 0x48]
call fcn.10177a00
mov ecx, esi
mov edx, 0x92
xor eax, eax
push eax
push eax
push ebx
call fcn.10030110
add esp, 0xc
mov ecx, esi
mov edx, 9
xor eax, eax
push eax
push dword [ebp - 0x8c]
push eax
call fcn.10030110
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x10173bf8
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x64]
jmp 0x10173923
mov ecx, dword [ebp - 0x4c]
cmp byte [ecx + 0x12], 0x58
jne 0x10173d14
cmp al, 0x58
mov esi, dword [ebp - 0x64]
jne 0x10173dd6
mov eax, dword [ebp - 0x4c]
mov bl, byte [eax + 0x10]
lea ecx, [ebp - 0x48]
mov edx, 3
push 0
push esi
call fcn.101782e0
add esp, 8
cmp bl, 0x59
jne 0x10173de9
xor esi, esi
lea edi, [ebp - 0x48]
mov ecx, edi
mov edx, 2
push esi
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
xor edx, edx
inc edx
mov ecx, edi
push esi
push esi
jmp 0x10173e08
cmp dword [edi + 0x58], 0
jne 0x1017352c
mov eax, edi
mov ecx, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x20]
cmp ecx, 0x101b65fb
je 0x1017352c
cmp ecx, str.lead
je 0x1017352c
cmp ecx, str.nth_value
je 0x1017352c
cmp ecx, str.first_value
je 0x1017352c
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x10173c6d
cmp byte [edi + 0x12], 0x58
jne 0x10173526
cmp byte [edi + 0x10], 0x59
je 0x1017352c
mov edx, dword [edi + 0x1c]
mov ecx, dword [ebp - 0x58]
call fcn.10177610
mov ecx, 3
test eax, eax
jne 0x10173529
jmp 0x1017352c
mov dword [ebp - 0x64], 0
jmp 0x10173586
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x101736fa
cmp dword [eax + 0x208], 0
jne 0x101736fa
dec dword [edx]
jne 0x101736fa
mov ecx, dword [edx + 0xc]
call fcn.1014f290
jmp 0x101736fa
xor eax, eax
lea ecx, [ebp - 0x48]
mov edx, 3
push eax
push eax
call fcn.101782e0
add esp, 8
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x12], 0x5a
je 0x10173e10
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x10], 0x59
jne 0x10174031
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x54], eax
mov esi, 0
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x10173d79
mov esi, dword [edi + 0x38]
dec esi
mov dword [edi + 0x38], esi
lea ecx, [ebp - 0x48]
mov edx, 0x39
push esi
push dword [ebp - 0x84]
push ebx
push dword [ebp - 0x70]
call fcn.101787e0
add esp, 0x10
lea ecx, [ebp - 0x48]
xor edx, edx
inc edx
xor edi, edi
push edi
push edi
call fcn.101782e0
add esp, 8
lea ecx, [ebp - 0x48]
mov edx, 2
push edi
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
test ebx, ebx
je 0x10173e10
xor eax, eax
mov edi, dword [ebp - 0x50]
mov ecx, edi
mov edx, 9
push eax
push dword [ebp - 0x54]
push eax
call fcn.10030110
add esp, 0xc
mov ecx, dword [edi + 0xc]
not esi
jmp 0x10173b2a
xor esi, esi
lea edi, [ebp - 0x48]
xor edx, edx
inc edx
mov ecx, edi
push esi
push dword [ebp - 0x64]
jmp 0x10173df5
lea ecx, [ebp - 0x48]
mov edx, 3
push 0
push esi
call fcn.101782e0
add esp, 8
xor esi, esi
lea edi, [ebp - 0x48]
xor edx, edx
inc edx
mov ecx, edi
push esi
push esi
call fcn.101782e0
add esp, 8
mov ecx, edi
mov edx, 2
push esi
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
mov edi, dword [ebp - 0x50]
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0xa4]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
jns 0x10173e33
mov edx, edi
push esi
call fcn.100329e0
add esp, 4
jmp 0x10173e3c
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov ecx, dword [ebp + 8]
call fcn.10031d30
xor esi, esi
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 8], 0
mov dword [ebp - 0x54], 0
je 0x10173e8e
xor eax, eax
mov ecx, edi
mov edx, 0x47
push eax
push dword [ebp - 0x6c]
push eax
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x54], eax
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x10173e8b
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
mov dword [ebp - 0x2c], esi
mov ecx, edi
mov edx, 0x24
push esi
push esi
push dword [ebp - 0x98]
call fcn.10030110
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x4c]
mov bl, byte [eax + 0x11]
cmp byte [eax + 0x12], 0x58
jne 0x10173ef2
cmp bl, 0x58
jne 0x10173f53
mov eax, dword [ebp - 0x4c]
mov bl, byte [eax + 0x10]
lea ecx, [ebp - 0x48]
mov edx, 3
push 0
push dword [ebp - 0x64]
call fcn.101782e0
add esp, 8
cmp bl, 0x59
jne 0x10173f68
lea ecx, [ebp - 0x48]
mov edx, 2
push 0
push dword [ebp - 0x5c]
jmp 0x10173f60
mov dword [ebp - 0x60], esi
xor esi, esi
lea ecx, [ebp - 0x48]
mov edx, 3
push esi
push esi
call fcn.101782e0
add esp, 8
cmp bl, 0x56
jne 0x10173f82
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x10], 0x59
mov esi, dword [ebp - 0x64]
jne 0x10173fee
mov esi, dword [edi + 0x6c]
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x48]
mov edx, 2
push ebx
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x48]
mov edx, ebx
push ebx
push 0
call fcn.101782e0
add esp, 8
mov dword [ebp - 0x68], eax
jmp 0x101740df
lea ecx, [ebp - 0x48]
mov edx, 3
push 0
push dword [ebp - 0x64]
call fcn.101782e0
add esp, 8
xor eax, eax
lea ecx, [ebp - 0x48]
xor edx, edx
inc edx
push eax
push eax
call fcn.101782e0
add esp, 8
mov ebx, dword [ebp - 0x4c]
jmp 0x10174186
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 0x6c]
lea ebx, [ebp - 0x48]
xor edx, edx
inc edx
mov ecx, ebx
push 1
push esi
call fcn.101782e0
add esp, 8
mov dword [ebp - 0x58], eax
mov ecx, ebx
mov edx, 2
push esi
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
mov ecx, dword [ebp - 0x50]
mov edx, 9
push esi
push edi
mov edi, dword [ebp - 0x50]
push esi
call fcn.10030110
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x10173fe3
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
mov ebx, dword [ebp - 0x4c]
jmp 0x10174183
cmp byte [eax + 0x12], 0x5a
mov ebx, dword [edi + 0x6c]
jne 0x101740ae
xor edi, edi
inc edi
lea esi, [ebp - 0x48]
mov ecx, esi
mov edx, edi
push edi
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
mov dword [ebp - 0x68], eax
mov ecx, esi
mov edx, 2
push edi
push 0
jmp 0x101740cf
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
jmp 0x10173e10
xor esi, esi
mov eax, 0
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x10174054
mov ecx, dword [ebp - 0x50]
mov edx, 0x3b
push 1
push 0
push edi
call fcn.10030110
add esp, 0xc
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x48]
xor edx, edx
inc edx
mov ecx, ebx
push esi
push esi
call fcn.101782e0
add esp, 8
mov ecx, ebx
mov edx, 2
push esi
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
test edi, edi
je 0x10173e10
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x101740a6
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0x50]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x10173e10
xor edi, edi
inc edi
lea ecx, [ebp - 0x48]
mov edx, edi
push edi
push esi
call fcn.101782e0
add esp, 8
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x48]
mov edx, 2
push edi
push dword [ebp - 0x5c]
call fcn.101782e0
add esp, 8
mov dword [ebp - 0x58], eax
mov edi, dword [ebp - 0x50]
mov esi, ebx
xor ebx, ebx
mov ecx, edi
mov edx, 9
push ebx
push esi
push ebx
call fcn.10030110
add esp, 0xc
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
mov esi, 0x101f4350
cmp byte [ecx + 0x57], 0
mov ecx, 0x101f4350
jne 0x10174114
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 0x6c]
lea ecx, [ebp - 0x48]
xor edx, edx
inc edx
push 1
push ebx
call fcn.101782e0
add esp, 8
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x50]
mov edx, 9
push ebx
push edi
mov edi, dword [ebp - 0x50]
push ebx
call fcn.10030110
add esp, 0xc
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1017415e
mov ecx, dword [ebp - 0x68]
lea esi, [ecx + ecx*4]
shl esi, 2
add esi, dword [edi + 0x68]
mov dword [esi + 8], eax
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
mov ebx, dword [ebp - 0x4c]
jne 0x10174180
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x60]
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x1017419f
lea ecx, [esi + esi*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
xor esi, esi
mov ecx, edi
mov edx, 0x92
push esi
push esi
push dword [ebp - 0x70]
call fcn.10030110
add esp, 0xc
cmp dword [ebx + 8], esi
je 0x10174222
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x101741ed
xor esi, esi
mov ecx, edi
mov edx, 0x47
push esi
push eax
push 1
call fcn.10030110
add esp, 0xc
mov ecx, edi
mov edx, 0x47
push esi
push dword [ebx + 0x5c]
push esi
call fcn.10030110
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101f4350
cmp byte [edx + 0x57], 0
jne 0x10174209
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 4], eax
xor eax, eax
mov ecx, edi
mov edx, 0x43
push eax
push eax
push dword [ebp - 0x6c]
call fcn.10030110
add esp, 0xc
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret