Function at 0xf84c83
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
mov byte [esp + 0x20], 0
imul eax, dword [eax], 0x1e35a7bd
shr eax, 0x11
mov eax, dword [eax*4 + 0x69a3ac20]
test eax, eax
je 0xf84dca
mov edx, eax
shr edx, 8
and eax, 0xff
je 0xf84dca
add eax, edx
lea edi, [edx*4 + 0x69a1bcc0]
lea eax, [eax*4 + 0x69a1bcc0]
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], eax
lea esi, [esi]
mov edi, dword [esp + 0x10]
movzx ebx, byte [edi]
movzx esi, byte [edi + 1]
mov eax, dword [edi]
mov ecx, dword [ebx*4 + 0x69a5ac20]
mov dword [esp + 0x1c], ecx
movzx ecx, word [edi + 2]
mov dword [esp + 0x14], ecx
mov ecx, esi
test cl, cl
je 0xf85013
mov edi, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 8], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 4], edi
call fcn.00fb68d3
test al, al
je 0xf84db7
mov ecx, esi
mov edx, 9
cmp cl, 0xa
mov ecx, 0x2c
cmovne edx, ecx
lea ecx, [ebx*4]
lea edi, [ebp + ecx]
mov dword [esp + 0x18], ecx
movzx ecx, byte [esp + 0x1c]
shl edx, cl
add edx, dword [esp + 0x14]
mov ecx, dword [edi]
shl edx, 5
add edx, ebx
cmp edx, ecx
cmova edx, ecx
mov dword [edi], edx
lea edx, [ebx + 1]
cmp edx, dword [esp + 0x78]
jae 0xf84db3
mov edi, dword [esp + 0x70]
add edi, ebx
movzx edx, byte [edi]
cmp dl, 0x20
je 0xf85363
cmp dl, 0x22
je 0xf853b3
cmp dl, 0x2e
je 0xf8571b
cmp dl, 0x2c
je 0xf858bb
cmp dl, 0x27
je 0xf8561b
cmp dl, 0x28
je 0xf85a3b
cmp dl, 0x3d
je 0xf85ab6
lea esi, [esi]
mov byte [esp + 0x20], al
add dword [esp + 0x10], 4
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x24]
jne 0xf84cdb
cmp dword [esp + 0x78], 4
jbe 0xf85003
mov eax, dword [esp + 0x70]
movzx ecx, byte [eax]
cmp cl, 0x20
mov byte [esp + 0x1c], cl
sete dl
cmp cl, 0x2e
sete al
or dl, al
mov byte [esp + 0x2f], dl
je 0xf84faa
mov eax, dword [esp + 0x70]
imul eax, dword [eax + 1], 0x1e35a7bd
shr eax, 0x11
mov eax, dword [eax*4 + 0x69a3ac20]
mov edx, eax
shr edx, 8
and eax, 0xff
je 0xf84faa
cmp cl, 0x20
mov ebx, 6
mov ecx, 0x20
mov dword [esp + 0x7c], ebp
cmove ecx, ebx
mov ebx, 0x59
movzx edi, byte [esp + 0x20]
lea esi, [edx*4 + 0x69a1bcc0]
mov dword [esp + 0x34], ecx
mov ecx, 0x43
cmove ecx, ebx
mov ebx, 2
mov dword [esp + 0x3c], ecx
mov ecx, 0x4d
cmove ecx, ebx
add eax, edx
lea eax, [eax*4 + 0x69a1bcc0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], ecx
sub eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
add eax, 1
mov dword [esp + 0x28], eax
lea esi, [esi]
nop
movzx ebx, byte [esi]
movzx edx, byte [esi + 1]
mov eax, dword [esi]
mov ecx, dword [ebx*4 + 0x69a5ac20]
mov dword [esp + 0x14], ecx
mov ebp, ecx
movzx ecx, word [esi + 2]
mov dword [esp + 0x10], ecx
test dl, dl
jne 0xf85253
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 8], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 4], edx
call fcn.00fb68d3
mov byte [esp + 0x20], al
test al, al
je 0xf84f93
mov edi, dword [esp + 0x7c]
lea edx, [ebx + 1]
mov ecx, ebp
lea eax, [edx*4]
add edi, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
shl eax, cl
add eax, dword [esp + 0x10]
mov ecx, dword [edi]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edi], eax
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x78]
jae 0xf85343
add edx, dword [esp + 0x70]
movzx eax, byte [edx]
cmp al, 0x20
je 0xf858a3
cmp al, 0x28
je 0xf85591
cmp byte [esp + 0x1c], 0x20
jne 0xf85343
cmp al, 0x2c
je 0xf85b53
cmp al, 0x2e
je 0xf85f43
cmp al, 0x3d
jne 0xf85343
movzx eax, byte [edx + 1]
cmp al, 0x22
je 0xf862e0
cmp al, 0x27
jne 0xf85343
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
lea edx, [eax + edi + 8]
mov eax, 0x62
movzx ecx, byte [esp + 0x14]
movzx edi, byte [esp + 0x20]
shl eax, cl
add eax, dword [esp + 0x10]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
lea esi, [esi]
add esi, 4
cmp esi, dword [esp + 0x18]
jne 0xf84e8b
mov eax, edi
mov ebp, dword [esp + 0x7c]
mov byte [esp + 0x20], al
cmp dword [esp + 0x78], 5
je 0xf85003
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x70]
movzx eax, byte [eax + 1]
movzx edx, byte [ebx]
cmp al, 0x20
je 0xf85453
cmp al, 0xa0
jne 0xf84fd5
cmp dl, 0xc2
je 0xf8546c
cmp dword [esp + 0x78], 8
jbe 0xf85003
mov eax, dword [esp + 0x70]
movzx eax, byte [eax]
cmp al, 0x20
je 0xf857a3
cmp al, 0x2e
jne 0xf85003
mov eax, dword [esp + 0x70]
cmp byte [eax + 1], 0x63
jne 0xf85003
cmp byte [eax + 2], 0x6f
je 0xf85c4f
movzx eax, byte [esp + 0x20]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x14]
mov esi, ebx
mov eax, dword [esp + 0x70]
imul ecx, ebx
add ecx, dword [ebx*4 + 0x69a5aca0]
add ecx, dword [0x69ab68fc]
cmp ebx, dword [esp + 0x78]
cmova esi, dword [esp + 0x78]
xor edx, edx
add esi, dword [esp + 0x70]
lea edi, [esi - 4]
cmp dword [esp + 0x70], edi
ja 0xf85068
mov dword [esp + 0x18], ebx
jmp 0xf8505d
add eax, 4
add edx, 4
cmp eax, edi
ja 0xf85064
mov ebx, dword [ecx + edx]
cmp dword [eax], ebx
je 0xf85053
mov ebx, dword [esp + 0x18]
cmp esi, eax
jbe 0xf8508d
add esi, edx
mov edi, ebx
sub esi, eax
sub eax, edx
jmp 0xf85082
add edx, 1
cmp esi, edx
je 0xf8508b
movzx ebx, byte [eax + edx]
cmp byte [ecx + edx], bl
je 0xf8507b
mov ebx, edi
cmp ebx, edx
jne 0xf850ac
mov eax, dword [esp + 0x14]
lea ecx, [ebp + ebx*4]
mov byte [esp + 0x20], 1
mov esi, dword [ecx]
shl eax, 5
add eax, ebx
cmp eax, esi
cmova eax, esi
mov dword [ecx], eax
lea eax, [ebx - 1]
cmp eax, edx
ja 0xf850f3
movzx ecx, byte [esp + 0x1c]
lea esi, [ebp + eax*4]
mov eax, 0xc
mov byte [esp + 0x20], 1
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [esi]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [esi], eax
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x78]
jae 0xf850f3
mov eax, dword [esp + 0x70]
cmp byte [eax + ebx - 1], 0x69
je 0xf855d1
nop
mov esi, dword [esp + 0x74]
cmp ebx, 9
jbe 0xf85108
lea esi, [ebx - 9]
cmp esi, dword [esp + 0x74]
cmovb esi, dword [esp + 0x74]
lea eax, [ebx - 2]
cmp eax, edx
cmova eax, edx
mov dword [esp + 0x18], eax
cmp esi, eax
ja 0xf85160
mov eax, ebx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
sub eax, esi
mov edx, dword [esp + 0x14]
lea edi, [eax*4 + 0x69a1bc80]
lea esi, [esi]
mov eax, dword [edi]
shl eax, cl
add eax, edx
shl eax, 5
add eax, ebx
cmp eax, dword [ebp + esi*4]
cmova eax, dword [ebp + esi*4]
sub edi, 4
mov dword [ebp + esi*4], eax
add esi, 1
cmp esi, dword [esp + 0x18]
jbe 0xf85133
mov edx, dword [esp + 0x20]
mov byte [esp + 0x20], 1
cmp ebx, edx
ja 0xf84db7
lea eax, [ebx + 6]
cmp eax, dword [esp + 0x78]
jae 0xf84db7
mov edi, dword [esp + 0x70]
add edi, ebx
movzx eax, byte [edi]
cmp al, 0x20
je 0xf857db
cmp al, 0x22
je 0xf85943
cmp al, 0x2e
je 0xf85657
cmp al, 0x2c
je 0xf85da3
cmp al, 0xa
je 0xf85e87
cmp al, 0x5d
je 0xf85c01
cmp al, 0x27
je 0xf85f8d
cmp al, 0x3a
je 0xf860b3
cmp al, 0x28
je 0xf86193
cmp al, 0x3d
je 0xf86263
cmp al, 0x61
je 0xf862f6
cmp al, 0x65
je 0xf86393
cmp al, 0x66
je 0xf865d3
cmp al, 0x69
je 0xf86573
cmp al, 0x6c
je 0xf86696
cmp al, 0x6f
jne 0xf84db7
cmp byte [edi + 1], 0x75
jne 0xf84db7
cmp byte [edi + 2], 0x73
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x6a
lea edx, [ebp + ebx*4 + 0x10]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf85243
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
cmp byte [esp + 0x1c], 0x20
jne 0xf84f93
mov ecx, dword [esp + 0x24]
mov dword [esp], eax
mov byte [esp + 0x20], dl
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
call fcn.00fb68d3
mov byte [esp + 0x30], al
test al, al
je 0xf84f93
movzx edx, byte [esp + 0x20]
mov ecx, 0x55
mov eax, 0x1e
lea edi, [ebx + 1]
mov ebp, edi
cmp dl, 0xa
cmovne eax, ecx
movzx ecx, byte [esp + 0x14]
shl edi, 2
mov dword [esp + 0x20], edi
add edi, dword [esp + 0x7c]
shl eax, cl
add eax, dword [esp + 0x10]
mov ecx, dword [edi]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edi], eax
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x78]
jae 0xf85343
mov edi, dword [esp + 0x70]
add edi, ebp
movzx eax, byte [edi]
cmp al, 0x20
je 0xf85a77
cmp al, 0x2c
je 0xf85e5f
cmp al, 0x2e
je 0xf85b9d
cmp al, 0x3d
jne 0xf85343
movzx eax, byte [edi + 1]
cmp al, 0x22
je 0xf861fe
cmp al, 0x27
jne 0xf85343
cmp dl, 0xa
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x20]
sete dl
movzx edx, dl
lea eax, [eax + edi + 8]
add edx, 0x77
movzx ecx, byte [esp + 0x14]
movzx edi, byte [esp + 0x30]
shl edx, cl
add edx, dword [esp + 0x10]
shl edx, 5
add ebx, edx
mov edx, dword [eax]
cmp ebx, edx
cmova ebx, edx
mov dword [eax], ebx
jmp 0xf84f93
movzx edi, byte [esp + 0x2f]
add esi, 4
cmp esi, dword [esp + 0x18]
jne 0xf84e8b
jmp 0xf84fa0
mov ecx, esi
mov edx, 4
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
mov ecx, 0x44
cmovne edx, ecx
movzx ecx, byte [esp + 0x1c]
lea esi, [ebp + esi + 4]
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
add dword [esp + 0x10], 4
mov eax, dword [esp + 0x10]
mov dword [esi], ebx
cmp eax, dword [esp + 0x24]
jne 0xf84cdb
jmp 0xf84dca
mov ecx, esi
mov edx, 0x42
cmp cl, 0xa
mov ecx, 0x57
cmovne edx, ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ebp + ecx + 4]
mov dword [esp + 0x20], ecx
movzx ecx, byte [esp + 0x1c]
shl edx, cl
mov ecx, dword [esp + 0x20]
add edx, dword [esp + 0x14]
shl edx, 5
mov ecx, dword [ecx]
add edx, ebx
cmp edx, ecx
cmova edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [ecx], edx
cmp byte [edi + 1], 0x3e
jne 0xf84db3
mov ecx, esi
mov edx, 0x45
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
mov ecx, 0x61
cmovne edx, ecx
movzx ecx, byte [esp + 0x1c]
lea esi, [ebp + esi + 8]
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
add dword [esp + 0x10], 4
mov eax, dword [esp + 0x10]
mov dword [esi], ebx
cmp eax, dword [esp + 0x24]
jne 0xf84cdb
jmp 0xf84dca
cmp dl, 0x65
sete cl
cmp dl, 0x73
sete al
or cl, al
jne 0xf8546c
cmp dl, 0x2c
jne 0xf84fd5
mov eax, dword [esp + 0x70]
imul eax, dword [eax + 2], 0x1e35a7bd
shr eax, 0x11
mov eax, dword [eax*4 + 0x69a3ac20]
mov edx, eax
shr edx, 8
and eax, 0xff
je 0xf84fd5
add eax, edx
mov dword [esp + 0x7c], ebp
lea edi, [edx*4 + 0x69a1bcc0]
lea eax, [eax*4 + 0x69a1bcc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
sub eax, 2
mov dword [esp + 0x14], eax
lea esi, [esi]
cmp byte [edi + 1], 0
jne 0xf8557b
movzx ebx, byte [edi]
cmp dword [esp + 0x14], ebx
jb 0xf8557b
mov eax, dword [esp + 0x70]
lea edx, [eax + 2]
movzx eax, word [edi + 2]
lea esi, [edx + ebx]
mov ecx, eax
lea ebp, [esi - 4]
mov dword [esp + 0x1c], eax
xor eax, eax
imul ecx, ebx
add ecx, dword [ebx*4 + 0x69a5aca0]
add ecx, dword [0x69ab68fc]
cmp edx, ebp
ja 0xf85520
mov dword [esp + 0x18], ebx
jmp 0xf85515
add edx, 4
add eax, 4
cmp ebp, edx
jb 0xf8551c
mov ebx, dword [ecx + eax]
cmp dword [edx], ebx
je 0xf8550b
mov ebx, dword [esp + 0x18]
cmp esi, edx
jbe 0xf85545
add esi, eax
mov ebp, ebx
sub esi, edx
sub edx, eax
jmp 0xf8553a
add eax, 1
cmp esi, eax
je 0xf85543
movzx ebx, byte [edx + eax]
cmp byte [ecx + eax], bl
je 0xf85533
mov ebx, ebp
mov ecx, dword [ebx*4 + 0x69a5ac20]
cmp ebx, eax
jne 0xf8557b
mov eax, dword [esp + 0x70]
movzx edx, byte [eax]
lea eax, [ebx + 2]
cmp dl, 0xc2
je 0xf859a3
cmp dword [esp + 0x78], eax
jbe 0xf8557b
mov eax, dword [esp + 0x70]
cmp byte [eax + ebx + 2], 0x20
je 0xf85e38
lea esi, [esi]
add edi, 4
cmp edi, dword [esp + 0x10]
jne 0xf854bb
mov ebp, dword [esp + 0x7c]
jmp 0xf84fd5
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
lea eax, [eax + edi + 4]
movzx ecx, byte [esp + 0x14]
movzx edi, byte [esp + 0x20]
shl edx, cl
add edx, dword [esp + 0x10]
shl edx, 5
add ebx, edx
mov edx, dword [eax]
cmp ebx, edx
cmova ebx, edx
add esi, 4
mov dword [eax], ebx
cmp esi, dword [esp + 0x18]
jne 0xf84e8b
jmp 0xf84fa0
cmp byte [eax + ebx], 0x6e
jne 0xf850f3
cmp byte [eax + ebx + 1], 0x67
jne 0xf850f3
cmp byte [eax + ebx + 2], 0x20
jne 0xf850f3
movzx ecx, byte [esp + 0x1c]
mov eax, 0x31
lea esi, [ebp + ebx*4 + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [esi]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [esi], eax
jmp 0xf850f3
mov ecx, esi
mov edx, 0x4a
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
mov ecx, 0x5e
cmovne edx, ecx
movzx ecx, byte [esp + 0x1c]
lea esi, [ebp + esi + 4]
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
mov dword [esi], ebx
jmp 0xf84db7
movzx ecx, byte [esp + 0x1c]
lea esi, [ebx*4 + 4]
mov eax, 0x14
lea edx, [ebp + esi]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
cmp byte [edi + 1], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x1f
lea edx, [ebp + esi + 4]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
cmp byte [edi + 2], 0x54
jne 0xf84db7
cmp byte [edi + 3], 0x68
jne 0xf84db7
movzx eax, byte [edi + 4]
cmp al, 0x65
je 0xf864c5
cmp al, 0x69
jne 0xf84db7
cmp byte [edi + 5], 0x73
jne 0xf84db7
cmp byte [edi + 6], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x4b
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x18]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf8570f
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
mov ecx, esi
mov edx, 0x4f
cmp cl, 0xa
mov ecx, 0x65
cmovne edx, ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ebp + ecx + 4]
mov dword [esp + 0x20], ecx
movzx ecx, byte [esp + 0x1c]
shl edx, cl
mov ecx, dword [esp + 0x20]
add edx, dword [esp + 0x14]
shl edx, 5
mov ecx, dword [ecx]
add edx, ebx
cmp edx, ecx
cmova edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [ecx], edx
cmp byte [edi + 1], 0x20
jne 0xf84db3
mov ecx, esi
mov edx, 0x58
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
mov ecx, 0x72
cmovne edx, ecx
movzx ecx, byte [esp + 0x1c]
lea esi, [ebp + esi + 8]
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
mov dword [esi], ebx
jmp 0xf84db7
mov eax, dword [esp + 0x70]
cmp byte [eax + 1], 0x74
jne 0xf85003
cmp byte [eax + 2], 0x68
jne 0xf85003
cmp byte [eax + 3], 0x65
jne 0xf85003
cmp byte [eax + 4], 0x20
jne 0xf85003
jmp 0xf85c63
movzx ecx, byte [esp + 0x1c]
lea esi, [ebx*4 + 4]
mov eax, 1
lea edx, [ebp + esi]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
movzx eax, byte [edi + 1]
cmp al, 0x61
je 0xf859cd
cmp al, 0x62
je 0xf85dfd
cmp al, 0x69
je 0xf85b07
cmp al, 0x66
je 0xf85ee1
cmp al, 0x6f
je 0xf86061
cmp al, 0x6e
je 0xf8613c
cmp al, 0x74
je 0xf86212
cmp al, 0x77
jne 0xf84db7
cmp byte [edi + 2], 0x69
jne 0xf84db7
cmp byte [edi + 3], 0x74
jne 0xf84db7
cmp byte [edi + 4], 0x68
jne 0xf84db7
cmp byte [edi + 5], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x23
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x14]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf85897
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
lea eax, [eax + edi + 4]
jmp 0xf855a1
mov ecx, esi
mov edx, 0x63
cmp cl, 0xa
mov ecx, 0x70
cmovne edx, ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ebp + ecx + 4]
mov dword [esp + 0x20], ecx
movzx ecx, byte [esp + 0x1c]
shl edx, cl
mov ecx, dword [esp + 0x20]
add edx, dword [esp + 0x14]
shl edx, 5
mov ecx, dword [ecx]
add edx, ebx
cmp edx, ecx
cmova edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [ecx], edx
cmp byte [edi + 1], 0x20
jne 0xf84db3
mov ecx, esi
mov edx, 0x3a
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
mov ecx, 0x6b
cmovne edx, ecx
movzx ecx, byte [esp + 0x1c]
lea esi, [ebp + esi + 8]
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
mov dword [esi], ebx
jmp 0xf84db7
movzx ecx, byte [esp + 0x1c]
lea esi, [ebx*4 + 4]
mov eax, 0x13
lea edx, [ebp + esi]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
cmp byte [edi + 1], 0x3e
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x15
lea edx, [ebp + esi + 4]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
mov esi, dword [esp + 0x7c]
lea edx, [esi + eax*4]
mov eax, 0x66
shl eax, cl
add eax, dword [esp + 0x1c]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
mov byte [esp + 0x20], 1
jmp 0xf8557b
movzx eax, byte [edi + 2]
cmp al, 0x20
je 0xf85c28
cmp al, 0x73
je 0xf85fb4
cmp al, 0x74
je 0xf8610b
cmp al, 0x6e
jne 0xf84db7
cmp byte [edi + 3], 0x64
jne 0xf84db7
cmp byte [edi + 4], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0xa
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x10]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf85a2c
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
mov ecx, esi
mov edx, 0x4e
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
mov ecx, 0x71
cmovne edx, ecx
movzx ecx, byte [esp + 0x1c]
lea esi, [ebp + esi + 4]
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
mov dword [esi], ebx
jmp 0xf84db7
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x20]
cmp dl, 0xa
mov eax, 0xf
mov edx, 0x53
cmovne eax, edx
lea edx, [edi + ecx + 4]
movzx ecx, byte [esp + 0x14]
movzx edi, byte [esp + 0x30]
shl eax, cl
add eax, dword [esp + 0x10]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84f93
movzx edx, byte [edi + 1]
cmp dl, 0x22
je 0xf8602a
cmp dl, 0x27
jne 0xf84db3
mov ecx, esi
xor edx, edx
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
movzx ecx, byte [esp + 0x1c]
setne dl
lea esi, [ebp + esi + 8]
lea edx, [edx*8 + 0x6c]
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
mov dword [esi], ebx
jmp 0xf84db7
movzx eax, byte [edi + 2]
cmp al, 0x6e
je 0xf860da
cmp al, 0x73
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x2f
lea edx, [ebp + esi + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
movzx ecx, byte [esp + 0x14]
lea edi, [eax + edi + 4]
mov eax, 0x67
shl eax, cl
add eax, dword [esp + 0x10]
mov ecx, dword [edi]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edi], eax
cmp byte [edx + 1], 0x20
jne 0xf85343
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
lea edx, [eax + edi + 8]
mov eax, 0x21
jmp 0xf84f6f
cmp dl, 0xa
mov ecx, 0x73
mov eax, 0x60
mov ebp, dword [esp + 0x20]
cmovne eax, ecx
mov ecx, dword [esp + 0x7c]
lea ecx, [ecx + ebp + 4]
mov ebp, ecx
movzx ecx, byte [esp + 0x14]
shl eax, cl
add eax, dword [esp + 0x10]
mov ecx, dword [ebp]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [ebp], eax
cmp byte [edi + 1], 0x20
jne 0xf85343
cmp dl, 0xa
mov eax, 0x5b
mov edx, 0x75
cmovne eax, edx
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x20]
lea edx, [edi + ecx + 8]
jmp 0xf85a93
movzx ecx, byte [esp + 0x1c]
mov eax, 0x18
lea edx, [ebp + ebx*4 + 4]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x1c
lea edx, [ebp + esi + 8]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
cmp byte [eax + 3], 0x6d
jne 0xf85003
cmp byte [eax + 4], 0x2f
jne 0xf85003
mov eax, dword [esp + 0x70]
imul eax, dword [eax + 5], 0x1e35a7bd
shr eax, 0x11
mov eax, dword [eax*4 + 0x69a3ac20]
mov edx, eax
shr edx, 8
and eax, 0xff
je 0xf85003
add eax, edx
lea esi, [edx*4 + 0x69a1bcc0]
lea eax, [eax*4 + 0x69a1bcc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
sub eax, 5
mov dword [esp + 0x24], eax
cmp byte [esi + 1], 0
jne 0xf85d91
movzx ebx, byte [esi]
cmp dword [esp + 0x24], ebx
jb 0xf85d91
mov eax, dword [esp + 0x70]
mov ecx, dword [ebx*4 + 0x69a5aca0]
lea edx, [eax + 5]
movzx eax, word [esi + 2]
mov dword [esp + 0x14], eax
imul eax, ebx
add ecx, eax
lea eax, [edx + ebx]
add ecx, dword [0x69ab68fc]
lea edi, [eax - 4]
mov dword [esp + 0x1c], eax
xor eax, eax
cmp edi, edx
jb 0xf85d0a
mov dword [esp + 0x18], ebx
jmp 0xf85cff
add edx, 4
add eax, 4
cmp edi, edx
jb 0xf85d06
mov ebx, dword [ecx + eax]
cmp dword [edx], ebx
je 0xf85cf5
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp edi, edx
jbe 0xf85d32
add edi, eax
mov dword [esp + 0x18], ebx
sub edi, edx
sub edx, eax
jmp 0xf85d25
add eax, 1
cmp edi, eax
je 0xf85d2e
movzx ebx, byte [edx + eax]
cmp byte [ecx + eax], bl
je 0xf85d1e
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx*4 + 0x69a5ac20]
mov dword [esp + 0x18], ecx
cmp ebx, eax
jne 0xf85d91
mov eax, dword [esp + 0x70]
mov edx, 0x29
lea edi, [ebx + 5]
cmp byte [eax], 0x20
mov eax, 0x48
cmove eax, edx
lea edx, [edi*4]
mov dword [esp + 0x1c], edx
add edx, ebp
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
cmp edi, dword [esp + 0x78]
jae 0xf85d8c
mov eax, dword [esp + 0x70]
cmp byte [eax], 0x20
je 0xf863f3
mov byte [esp + 0x20], 1
add esi, 4
cmp dword [esp + 0x10], esi
jne 0xf85ca7
jmp 0xf85003
movzx ecx, byte [esp + 0x1c]
lea esi, [ebx*4 + 4]
mov eax, 0x4c
lea edx, [ebp + esi]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
cmp byte [edi + 1], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0xe
lea edx, [ebp + esi + 4]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
cmp byte [edi + 2], 0x79
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x26
lea edx, [ebp + esi + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
mov eax, 0x12
cmp dl, 0x65
je 0xf85e52
cmp dl, 0x73
mov eax, 0xd
mov edx, 7
cmove eax, edx
mov esi, dword [esp + 0x7c]
lea edx, [esi + ebx*4 + 0xc]
jmp 0xf859af
cmp dl, 0xa
je 0xf85fe5
cmp byte [edi + 1], 0x20
jne 0xf85343
mov eax, dword [esp + 0x20]
mov edx, 0x6f
add eax, 8
add eax, dword [esp + 0x7c]
jmp 0xf8531a
movzx ecx, byte [esp + 0x1c]
lea esi, [ebx*4 + 4]
mov eax, 0x16
lea edx, [ebp + esi]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
cmp byte [edi + 1], 9
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x32
lea edx, [ebp + esi + 4]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
movzx eax, byte [edi + 2]
cmp al, 0x6f
je 0xf861ba
cmp al, 0x72
jne 0xf84db7
cmp byte [edi + 3], 0x6f
jne 0xf84db7
cmp byte [edi + 4], 0x6d
jne 0xf84db7
cmp byte [edi + 5], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x25
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x14]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf85f3a
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
movzx ecx, byte [esp + 0x14]
lea edi, [eax + edi + 4]
mov eax, 0x47
shl eax, cl
add eax, dword [esp + 0x10]
mov ecx, dword [edi]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edi], eax
cmp byte [edx + 1], 0x20
jne 0xf85343
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
lea edx, [eax + edi + 8]
mov eax, 0x34
jmp 0xf84f6f
movzx ecx, byte [esp + 0x1c]
mov eax, 0x24
lea edx, [ebp + ebx*4 + 4]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x2e
lea edx, [ebp + esi + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx + 4]
movzx ecx, byte [esp + 0x14]
mov eax, 0x6d
shl eax, cl
add eax, dword [esp + 0x10]
mov ecx, dword [edx]
shl eax, 5
add eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edx], eax
cmp byte [edi + 1], 0x20
jne 0xf85343
mov eax, dword [esp + 0x20]
mov edx, 0x41
add eax, 8
jmp 0xf85e7e
mov ecx, esi
xor edx, edx
mov esi, dword [esp + 0x18]
mov byte [esp + 0x20], al
cmp cl, 0xa
movzx ecx, byte [esp + 0x1c]
setne dl
lea esi, [ebp + esi + 8]
add edx, 0x68
shl edx, cl
add edx, dword [esp + 0x14]
shl edx, 5
add ebx, edx
mov edx, dword [esi]
cmp ebx, edx
cmova ebx, edx
mov dword [esi], ebx
jmp 0xf84db7
movzx eax, byte [edi + 2]
cmp al, 0x66
je 0xf862a7
cmp al, 0x6e
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x2d
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0xc]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf860a6
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x33
lea edx, [ebp + ebx*4 + 4]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x10
lea edx, [ebp + esi + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x3c
lea edx, [ebp + esi + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
cmp byte [edi + 2], 0x6f
jne 0xf84db7
cmp byte [edi + 3], 0x74
jne 0xf84db7
cmp byte [edi + 4], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x50
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x10]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf86181
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x39
lea edx, [ebp + ebx*4 + 4]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [edx]
cmp ebx, eax
cmova ebx, eax
mov dword [edx], ebx
jmp 0xf84db7
cmp byte [edi + 3], 0x72
jne 0xf84db7
cmp byte [edi + 4], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x19
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x10]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf861f5
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
xor eax, eax
cmp dl, 0xa
sete al
lea eax, [eax*8 + 0x6e]
jmp 0xf85bf0
movzx eax, byte [edi + 2]
cmp al, 0x68
je 0xf8633a
cmp al, 0x6f
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x11
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0xc]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf86257
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
movzx eax, byte [edi + 1]
cmp al, 0x22
je 0xf86623
cmp al, 0x27
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x56
lea edx, [ebp + ebx*4 + 8]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf8629e
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 8
lea edx, [esp + 0x4c]
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0xc]
cmp ebx, dword [eax]
mov dword [esp + 0x4c], ebx
cmovae edx, eax
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
lea edx, [eax + edi + 8]
mov eax, 0x51
jmp 0xf84f6f
cmp byte [edi + 1], 0x6c
jne 0xf84db7
cmp byte [edi + 2], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x54
lea edx, [ebp + ebx*4 + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf86331
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
movzx eax, byte [edi + 3]
cmp al, 0x65
je 0xf86539
cmp al, 0x61
jne 0xf84db7
cmp byte [edi + 4], 0x74
jne 0xf84db7
cmp byte [edi + 5], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x1d
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x14]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf86389
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
movzx eax, byte [edi + 1]
cmp al, 0x64
je 0xf864ff
cmp al, 0x72
je 0xf8672e
cmp al, 0x73
jne 0xf84db7
cmp byte [edi + 2], 0x74
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x5f
lea edx, [ebp + ebx*4 + 0x10]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf863ea
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
lea eax, [ebx + 8]
cmp eax, dword [esp + 0x78]
jae 0xf85d8c
add edi, dword [esp + 0x70]
cmp byte [edi], 0x20
mov edx, edi
jne 0xf85d8c
cmp byte [edi + 1], 0x6f
jne 0xf85d8c
cmp byte [edi + 2], 0x66
jne 0xf85d8c
cmp byte [edi + 3], 0x20
jne 0xf85d8c
movzx ecx, byte [esp + 0x18]
mov eax, 0x3e
mov edi, dword [esp + 0x1c]
shl eax, cl
add eax, dword [esp + 0x14]
lea ecx, [ebp + edi + 0x10]
shl eax, 5
mov edi, ecx
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [ecx]
jae 0xf86458
lea edi, [esp + 0x4c]
mov eax, dword [edi]
mov dword [ecx], eax
lea eax, [ebx + 0xc]
cmp eax, dword [esp + 0x78]
jae 0xf85d8c
cmp byte [edx + 4], 0x74
jne 0xf85d8c
cmp byte [edx + 5], 0x68
jne 0xf85d8c
cmp byte [edx + 6], 0x65
jne 0xf85d8c
cmp byte [edx + 7], 0x20
jne 0xf85d8c
movzx ecx, byte [esp + 0x18]
mov eax, 0x49
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], ebx
lea eax, [ebp + eax + 0x20]
mov edx, eax
cmp ebx, dword [eax]
jb 0xf86768
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf85d8c
cmp byte [edi + 5], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x2b
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x14]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf864f6
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
cmp byte [edi + 2], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x35
lea edx, [ebp + ebx*4 + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf86530
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
cmp byte [edi + 4], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 5
shl eax, cl
add eax, dword [esp + 0x14]
shl eax, 5
add ebx, eax
lea eax, [ebp + esi + 0x10]
mov dword [esp + 0x4c], ebx
mov edx, eax
cmp ebx, dword [eax]
jae 0xf8656a
lea edx, [esp + 0x4c]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0xf84db7
movzx eax, byte [edi + 1]
cmp al, 0x76
je 0xf86652
cmp al, 0x7a
jne 0xf84db7
cmp byte [edi + 2], 0x65
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x64
lea edx, [ebp + ebx*4 + 0x10]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf865c2
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
cmp byte [edi + 1], 0x75
jne 0xf84db7
cmp byte [edi + 2], 0x6c
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x5a
lea edx, [ebp + ebx*4 + 0x10]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf86618
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x46
lea edx, [ebp + ebx*4 + 8]
shl eax, cl
add eax, dword [esp + 0x14]
lea ecx, [esp + 0x4c]
shl eax, 5
add eax, ebx
cmp eax, dword [edx]
cmovae ecx, edx
mov dword [esp + 0x4c], eax
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
cmp byte [edi + 2], 0x65
jne 0xf84db7
cmp byte [edi + 3], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x5c
lea edx, [ebp + ebx*4 + 0x10]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf8668d
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
movzx eax, byte [edi + 1]
cmp al, 0x65
je 0xf866e0
cmp al, 0x79
jne 0xf84db7
cmp byte [edi + 2], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x3d
lea edx, [ebp + ebx*4 + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf866d7
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
cmp byte [edi + 2], 0x73
jne 0xf84db7
cmp byte [edi + 3], 0x73
jne 0xf84db7
cmp byte [edi + 4], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x5d
lea edx, [ebp + ebx*4 + 0x14]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf86725
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
cmp byte [edi + 2], 0x20
jne 0xf84db7
movzx ecx, byte [esp + 0x1c]
mov eax, 0x52
lea edx, [ebp + ebx*4 + 0xc]
shl eax, cl
add eax, dword [esp + 0x14]
mov ecx, edx
shl eax, 5
add eax, ebx
mov dword [esp + 0x4c], eax
cmp eax, dword [edx]
jae 0xf8675f
lea ecx, [esp + 0x4c]
mov eax, dword [ecx]
mov dword [edx], eax
jmp 0xf84db7
lea edx, [esp + 0x4c]
jmp 0xf864bc