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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x101e9008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x98], ecx
push esi
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0xbc], esi
push edi
mov edi, dword [ebp + 8]
test ebx, ebx
jne 0x1005be05
cmp dword [ebp + 0x20], ebx
jne 0x1005bdf4
push 1
xor eax, eax
push eax
push eax
push eax
push eax
push eax
lea eax, [ebp + 0x20]
push eax
call fcn.1005bd91
add esp, 0x1c
jmp 0x1005f30e
lea eax, [ebp + 0x20]
sub eax, edi
cdq
xor eax, edx
sub eax, edx
neg eax
jmp 0x1005f30e
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x1005f309
mov dword [ebp - 0xb8], htonl
inc dword [esi]
mov eax, dword [ebp + 0x20]
cmp eax, dword [esi + 8]
jae 0x1005f305
cmp dword [esi + 0x98], 2
jne 0x1005be50
and dword [esi + 0x98], 0
lea eax, [ebp - 0x110]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x98], eax
mov cl, byte [ebx]
and dword [ebp - 0xa4], 0
and dword [ebp - 0x9c], 0
movzx edx, cl
mov dword [ebp - 0x90], edx
cmp edx, 0xa1
ja case.0x1005be7c.15
movzx eax, byte [edx + 0x1005f45d]
jmp dword [eax*4 + 0x1005f321]
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x1005e888
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x10184c68]
movzx eax, byte [ebx + 1]
add ebx, eax
add ebx, ecx
jmp 0x1005be50
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
lea eax, [ebx + 3]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
cmp eax, 1
je 0x1005bfcc
cmp eax, 0xfffffc20
jne 0x1005bf18
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
add edx, ebx
cmp dword [esi + 0x7c], edx
jae 0x1005f30e
cmp byte [ebx], 0x77
je 0x1005bf16
cmp byte [edx], 0x77
jne 0x1005f30e
xor eax, eax
test eax, eax
jne 0x1005f30e
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x84]
add ebx, ecx
mov dword [esi + 0xac], eax
cmp byte [ebx], 0x77
je 0x1005bebb
mov edx, dword [ebp - 0x94]
mov al, byte [ebx]
cmp al, 0x82
je 0x1005bf58
cmp al, 0x77
jne case.0x1005be7c.157
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005bf58
cmp byte [ebx], 0x78
mov eax, dword [esi + 0x8c]
mov edi, dword [esi + 0x80]
mov dword [ebp - 0x88], eax
je 0x1005c61a
cmp edi, dword [ebp - 0x80]
je 0x1005c61a
mov eax, dword [ebp + 0x20]
inc eax
cmp byte [ebx], 0x7a
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push edx
jne 0x1005e6a6
lea eax, [ebx + 3]
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
mov ebx, dword [ebp - 0xa0]
jmp 0x1005e7ad
mov edx, dword [esi + 0x7c]
mov dword [ebp - 0x94], edx
jmp 0x1005bf4a
and dword [ebp - 0x84], 0
jmp 0x1005c9df
and dword [ebp - 0x84], 0
jmp 0x1005ca0a
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
add ebx, 3
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x9c], ecx
cmp byte [ebx], 0x76
jne 0x1005c104
mov eax, dword [0x101f3544]
mov dword [ebp - 0x84], eax
test eax, eax
je 0x1005c0f3
movzx eax, byte [ebx + 1]
mov ecx, dword [esi + 0x74]
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0x78]
sub eax, ecx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x94]
sub eax, ecx
mov dword [ebp - 0x108], 2
mov dword [ebp - 0xf4], eax
mov eax, edi
sub eax, ecx
movzx ecx, byte [ebx + 2]
mov dword [ebp - 0xf0], eax
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 5]
mov dword [ebp - 0xe0], ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
cdq
sub eax, edx
mov dword [ebp - 0xdc], ecx
sar eax, 1
mov dword [ebp - 0xec], eax
movzx eax, word [esi + 0x90]
test eax, eax
push 0xffffffffffffffff
pop ecx
cmove eax, ecx
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x108]
push eax
call dword [ebp - 0x84]
pop ecx
test eax, eax
jg case.0x1005be7c.157
js 0x1005f30e
mov ecx, dword [ebp - 0x9c]
movzx eax, byte [0x10184cde]
add ebx, eax
sub ecx, eax
mov dword [ebp - 0x9c], ecx
movzx eax, byte [ebx]
xor edx, edx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
sub eax, 0x8d
je 0x1005c2e6
dec eax
je 0x1005c281
dec eax
je 0x1005c24a
dec eax
je 0x1005c1dc
dec eax
je 0x1005c31d
sub eax, 0xc
je 0x1005c31d
xor eax, eax
inc eax
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push edx
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
xor edx, edx
add esp, 0x1c
inc edx
cmp eax, edx
jne 0x1005c1bf
mov ecx, dword [ebp - 0x88]
mov eax, dword [esi + 0x8c]
cmp eax, ecx
mov dword [ebp - 0x80], edx
cmovg ecx, eax
cmp byte [ebx], 0x92
mov dword [ebp - 0x88], ecx
jne 0x1005c18f
inc ebx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005c18f
mov edx, dword [ebp - 0x84]
push 3
pop ecx
movzx eax, byte [edx + 0x10184c68]
sub ecx, eax
mov eax, dword [ebp - 0x80]
add ebx, ecx
jmp 0x1005c30e
test eax, eax
je 0x1005c1ce
cmp eax, 0xfffffc20
jne 0x1005f30e
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x9c]
jmp 0x1005c31f
cmp dword [esi + 0xa4], edx
je 0x1005c31d
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 1]
shl edx, 8
shl ecx, 8
or edx, eax
movzx eax, byte [ebx + 2]
or ecx, eax
imul ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x30]
test edx, edx
jle 0x1005c1ce
mov eax, dword [esi + 0xa4]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
movzx eax, byte [ecx]
dec edx
shl eax, 8
mov dword [ebp - 0x80], eax
movzx eax, byte [ecx + 1]
or dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0xa0]
neg eax
sbb eax, eax
inc eax
jne 0x1005c308
add ecx, dword [esi + 0x24]
test edx, edx
jg 0x1005c21c
jmp 0x1005c1d1
mov edx, dword [esi + 0xa4]
test edx, edx
je 0x1005c368
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x1005c305
cmp ecx, dword [edx + 4]
je 0x1005c305
xor eax, eax
jmp 0x1005c1d1
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 1]
shl edx, 8
shl ecx, 8
or edx, eax
movzx eax, byte [ebx + 2]
or ecx, eax
imul ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x30]
test edx, edx
jle 0x1005c1ce
and dword [ebp - 0x80], 0
movzx eax, byte [ecx]
dec edx
mov dword [ebp - 0xa0], edx
movzx edx, byte [ecx + 1]
shl eax, 8
or edx, eax
add edx, edx
cmp edx, dword [ebp - 0x88]
jge 0x1005c2d4
mov eax, dword [esi + 0xc]
cmp dword [eax + edx*4], 0
jge 0x1005c305
add ecx, dword [esi + 0x24]
mov edx, dword [ebp - 0xa0]
test edx, edx
jg 0x1005c2ae
jmp 0x1005c1ce
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x88]
jge 0x1005c317
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], edx
jl 0x1005c317
xor eax, eax
inc eax
mov edx, dword [ebp - 0x84]
movzx ecx, byte [edx + 0x10184c68]
jmp 0x1005c31f
mov ecx, dword [ebp - 0x9c]
mov eax, edx
add ebx, ecx
test eax, eax
jne 0x1005c32f
cmp byte [ebx - 3], 0x77
jne 0x1005be50
cmp dword [ebp - 0x90], 0x8c
jne 0x1005e7ad
mov dword [esi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
jmp 0x1005bde7
mov eax, dword [ebp - 0x80]
jmp 0x1005c31f
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov eax, dword [esi + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [esi + 0x90], eax
lea ecx, [edx + edx]
mov dword [ebp - 0x84], ecx
cmp ecx, dword [esi + 0x14]
jl 0x1005c3ab
or eax, 0x10000
mov dword [esi + 0x90], eax
jmp 0x1005c61a
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, edx
mov edx, dword [ebp - 0x84]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
mov eax, dword [esi + 0xc]
sub ecx, dword [esi + 0x74]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp - 0x88]
cmp edx, ecx
jl 0x1005c61a
mov eax, dword [esi + 0xc]
and dword [ebp - 0xa0], 0
and dword [ebp - 0x80], 0
lea edx, [eax + ecx*4]
mov ecx, dword [ebp - 0x84]
lea eax, [eax + ecx*4]
mov ecx, eax
sub ecx, edx
add ecx, 3
shr ecx, 2
cmp edx, eax
cmova ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x1005c418
mov eax, dword [ebp - 0x80]
or dword [edx], 0xffffffff
inc eax
lea edx, [edx + 4]
cmp eax, ecx
jb 0x1005c40d
mov eax, dword [ebp - 0x84]
add eax, 2
mov dword [ebp - 0x88], eax
jmp 0x1005c61a
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xa0], eax
xor eax, eax
inc eax
cmp dword [esi + 0x98], eax
jne 0x1005c452
and dword [esi + 0x98], 0
mov dword [ebp - 0x84], eax
jmp 0x1005c459
and dword [ebp - 0x84], 0
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push esi
push dword [ebp - 0x88]
lea eax, [ebx + 3]
push dword [ebp - 0x94]
push eax
push edi
call fcn.1005bd91
xor edx, edx
mov ecx, eax
inc edx
add esp, 0x1c
cmp ecx, edx
je 0x1005c4ec
cmp ecx, 0xfffffc19
je 0x1005c4ec
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0xac], eax
cmp ecx, 0xfffffc20
jne 0x1005c4ca
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, ebx
cmp dword [esi + 0x7c], edx
jae 0x1005f111
cmp byte [ebx], 0x77
je 0x1005c4c5
cmp byte [edx], 0x77
jne 0x1005f111
xor edx, edx
xor ecx, ecx
inc edx
test ecx, ecx
jne 0x1005f111
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005c459
jmp 0x1005c4f5
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x94], eax
cmp byte [ebx], 0x78
je case.0x1005be7c.157
cmp dword [ebp - 0x84], 0
jne 0x1005f031
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005c50b
mov eax, dword [esi + 0x8c]
add ebx, 3
mov dword [ebp - 0x88], eax
jmp 0x1005be50
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xa0], eax
xor eax, eax
inc eax
cmp dword [esi + 0x98], eax
jne 0x1005c559
and dword [esi + 0x98], 0
mov dword [ebp - 0x84], eax
jmp 0x1005c560
and dword [ebp - 0x84], 0
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push esi
push dword [ebp - 0x88]
lea eax, [ebx + 3]
push dword [ebp - 0x94]
push eax
push edi
call fcn.1005bd91
mov ecx, dword [ebp - 0xa0]
add esp, 0x1c
mov dword [esi + 0xac], ecx
cmp eax, 0xfffffc19
je case.0x1005be7c.157
cmp eax, 0xfffffc1b
jle 0x1005f30e
cmp eax, 0xfffffc1f
jle 0x1005c5f9
cmp eax, 0xfffffc20
je 0x1005c5c1
test eax, eax
je 0x1005c5df
cmp eax, 1
jne 0x1005f30e
xor eax, eax
jmp 0x1005f30e
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ebx
cmp dword [esi + 0x7c], ecx
jae 0x1005c5f9
cmp byte [ebx], 0x77
je 0x1005c5df
cmp byte [ecx], 0x77
jne 0x1005c5f9
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005c560
jmp 0x1005c60d
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005c5f9
cmp dword [ebp - 0x84], 0
jne 0x1005e9a7
add ebx, 3
jmp 0x1005be50
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub edi, ecx
cmp edi, dword [esi + 0x74]
jb case.0x1005be7c.157
cmp edi, dword [esi + 0x84]
jae 0x1005c61a
mov dword [esi + 0x84], edi
jmp 0x1005c61a
mov eax, dword [0x101f3544]
mov dword [ebp - 0x84], eax
test eax, eax
je 0x1005c722
movzx eax, byte [ebx + 1]
mov ecx, dword [esi + 0x74]
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0x78]
sub eax, ecx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x94]
sub eax, ecx
mov dword [ebp - 0x108], 2
mov dword [ebp - 0xf4], eax
mov eax, edi
sub eax, ecx
movzx ecx, byte [ebx + 2]
mov dword [ebp - 0xf0], eax
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 5]
mov dword [ebp - 0xe0], ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
cdq
sub eax, edx
mov dword [ebp - 0xdc], ecx
sar eax, 1
mov dword [ebp - 0xec], eax
movzx eax, word [esi + 0x90]
test eax, eax
push 0xffffffffffffffff
pop ecx
cmove eax, ecx
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x108]
push eax
call dword [ebp - 0x84]
pop ecx
test eax, eax
jg case.0x1005be7c.157
js 0x1005f30e
add ebx, 6
jmp 0x1005be50
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0x70]
mov dword [ebp - 0x84], ecx
cmp ecx, dword [esi + 0x70]
jne 0x1005c749
xor edx, edx
jmp 0x1005c756
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl edx, 8
or edx, eax
mov ecx, dword [esi + 0xa4]
mov eax, ecx
jmp 0x1005c770
cmp edx, dword [eax + 4]
jne 0x1005c76e
cmp edi, dword [eax + 0x14]
je 0x1005e8d4
mov eax, dword [eax]
test eax, eax
jne 0x1005c760
mov eax, dword [esi + 0x90]
add ebx, 3
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xc0], edi
mov dword [esi + 0xa4], eax
mov dword [ebp - 0xc8], ecx
cmp ecx, 0x1e
jg 0x1005c7ba
lea eax, [ebp - 0x7c]
mov dword [ebp - 0xcc], eax
jmp 0x1005c7db
mov eax, ecx
shl eax, 2
push eax
call dword [0x101e906c]
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
je 0x1005e931
mov ecx, dword [ebp - 0xc8]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.1009f9a0
mov edx, dword [ebp - 0x84]
add esp, 0xc
cmp byte [edx], 0x88
sbb eax, eax
inc eax
mov dword [ebp - 0x80], eax
test eax, eax
je 0x1005c808
mov dword [esi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [edx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, edx
push eax
push edi
call fcn.1005bd91
mov ecx, dword [ebp - 0xc8]
shl ecx, 2
push ecx
push dword [ebp - 0xcc]
mov dword [ebp - 0xa0], eax
push dword [esi + 0xc]
call fcn.1009f9a0
mov eax, dword [ebp - 0xd4]
add esp, 0x28
mov ecx, dword [ebp - 0xc4]
mov dword [esi + 0xa4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0x90], ecx
cmp eax, 1
je 0x1005c8d0
cmp eax, 0xfffffc19
je 0x1005c8d0
cmp eax, 0xfffffc1c
jl 0x1005c890
cmp eax, 0xfffffc20
jle 0x1005e8db
test eax, eax
jne 0x1005e90a
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0xd4]
mov dword [esi + 0xa4], eax
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebp - 0x84], edx
cmp byte [edx], 0x77
jne 0x1005e8fc
mov eax, dword [ebp - 0x80]
jmp 0x1005c7fa
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0xcc], eax
je 0x1005c8e8
push dword [ebp - 0xcc]
call dword [0x101e9070]
pop ecx
mov eax, dword [esi + 0x7c]
mov edi, dword [esi + 0x80]
mov dword [ebp - 0x94], eax
jmp 0x1005be50
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je case.0x1005be7c.119
jmp 0x1005be50
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005c940
jmp 0x1005c61a
inc ebx
mov edx, ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x1005c95c
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
lea eax, [edx + 3]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005be50
jmp 0x1005f30e
inc ebx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005c9a3
jmp 0x1005c61a
inc ebx
xor eax, eax
inc eax
mov dword [ebp - 0x84], eax
movzx edx, byte [ebx]
mov dword [ebp - 0x90], edx
cmp edx, 0x86
je 0x1005c9df
cmp edx, 0x8b
jne 0x1005ca0a
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0xa4], edx
lea eax, [edx + edx]
mov dword [ebp - 0x8c], eax
cmp eax, dword [esi + 0x14]
jl 0x1005cb2e
mov edx, dword [ebp - 0x90]
and dword [ebp - 0x80], 0
mov eax, ebx
sub eax, dword [esi + 0x70]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x9c], eax
cmp edx, 0x88
jb 0x1005ca37
mov dword [esi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
push eax
push edi
call fcn.1005bd91
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1a
jne 0x1005caaa
mov eax, dword [esi + 0x8c]
mov ebx, dword [esi + 0x70]
add ebx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], eax
xor eax, eax
inc eax
mov dword [ebp - 0x80], eax
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x80]
cmp edi, eax
je 0x1005cb04
mov edi, eax
mov edx, dword [ebp - 0x90]
jmp 0x1005ca25
cmp ecx, 0xfffffc20
jne 0x1005cada
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, ebx
cmp dword [esi + 0x7c], edx
jae 0x1005f111
cmp byte [ebx], 0x77
je 0x1005cad8
cmp byte [edx], 0x77
jne 0x1005f111
xor ecx, ecx
test ecx, ecx
jne 0x1005f111
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
jne 0x1005cb18
mov eax, dword [ebp - 0x9c]
mov dword [esi + 0x90], eax
jmp 0x1005ca9f
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005cb04
cmp dword [ebp - 0x80], 0
jne 0x1005c61a
cmp dword [ebp - 0x84], 0
jmp 0x1005ccc8
mov ecx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x70]
and dword [ebp - 0x80], 0
mov dword [ebp - 0xa0], eax
lea eax, [edx + edx]
mov esi, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0xb4], esi
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x9c], eax
mov ecx, dword [esi + 0x10]
mov edx, edi
sub ecx, dword [ebp - 0xa4]
mov eax, dword [esi + 0xc]
sub edx, dword [esi + 0x74]
cmp dword [ebp - 0x90], 0x88
mov dword [eax + ecx*4], edx
jb 0x1005cba0
mov dword [esi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
push eax
push edi
call fcn.1005bd91
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1a
jne 0x1005cc1f
mov eax, dword [esi + 0x8c]
mov ebx, dword [esi + 0x70]
add ebx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x9c], eax
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x80], edx
cmp edi, eax
je 0x1005ccd3
mov edi, eax
jmp 0x1005cb76
cmp ecx, 0xfffffc20
jne 0x1005cc4f
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, ebx
cmp dword [esi + 0x7c], edx
jae 0x1005f111
cmp byte [ebx], 0x77
je 0x1005cc4d
cmp byte [edx], 0x77
jne 0x1005f111
xor ecx, ecx
test ecx, ecx
jne 0x1005f111
mov eax, dword [ebp - 0x9c]
mov dword [esi + 0x90], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005cb76
mov edx, dword [ebp - 0x80]
test edx, edx
jne 0x1005ccb9
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0xac]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0xa4]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0xb0]
mov dword [eax + ecx*4], edx
mov edx, dword [ebp - 0x80]
cmp dword [ebp - 0x84], 0
jne 0x1005c61a
test edx, edx
je case.0x1005be7c.157
jmp 0x1005c61a
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005ccd3
jmp 0x1005cc7e
movzx ecx, byte [ebx + 1]
mov edx, ebx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebp - 0x80], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x1005cd10
cmp al, 0x81
je 0x1005cd10
and dword [ebp - 0xa4], 0
jmp 0x1005cd2d
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx]
mov dword [ebp - 0x98], ecx
cmp al, 0x7d
jb 0x1005cd39
cmp al, 0x80
jbe 0x1005e98c
cmp al, 0x82
je 0x1005e98c
cmp al, 0x85
je 0x1005cd51
cmp al, 0x8a
je 0x1005cd51
cmp al, 0x86
je 0x1005cd51
cmp al, 0x8b
jne 0x1005cda9
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xb4], ecx
lea eax, [ecx + ecx]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x1005cd80
cmp dword [eax + 4], ecx
je 0x1005e998
mov eax, dword [esi + 0x90]
and eax, 0xffff0000
or eax, ecx
mov ecx, dword [ebp - 0x9c]
mov dword [esi + 0x90], eax
cmp ecx, dword [esi + 0x14]
jl 0x1005ce0d
or eax, 0x10000
mov dword [esi + 0x90], eax
mov ecx, dword [ebp - 0x88]
mov al, byte [ebx]
cmp al, 0x7b
je 0x1005e96d
cmp al, 0x78
je 0x1005cdc9
cmp edi, dword [ebp - 0xa4]
jne 0x1005e6c5
cmp byte [edx], 0x81
jne 0x1005c61a
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push ecx
push dword [ebp - 0x94]
lea eax, [ebx + 3]
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
mov eax, dword [ebp - 0x80]
mov dword [esi + 0xb4], eax
mov eax, 0xfffffc1b
jmp 0x1005f30e
cmp ecx, dword [ebp - 0x88]
jle 0x1005ce65
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x88]
and dword [ebp - 0xb0], 0
and dword [ebp - 0x84], 0
lea edx, [eax + edx*4]
lea eax, [eax + ecx*4]
mov dword [ebp - 0xac], edx
mov ecx, eax
sub ecx, edx
add ecx, 3
shr ecx, 2
cmp edx, eax
cmova ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x1005ce65
mov eax, edx
or dword [eax], 0xffffffff
lea eax, [eax + 4]
inc dword [ebp - 0x84]
cmp dword [ebp - 0x84], ecx
jb 0x1005ce51
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
mov eax, dword [esi + 0xc]
sub ecx, dword [esi + 0x74]
mov dword [eax + edx*4 + 4], ecx
mov eax, edx
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x80]
cmp ecx, eax
jg 0x1005cdaf
lea ecx, [eax + 2]
mov dword [ebp - 0x88], ecx
jmp 0x1005cdaf
cmp dword [esi + 0x44], 0
je case.0x1005be7c.1
cmp edi, dword [esi + 0x74]
je case.0x1005be7c.157
cmp edi, dword [esi + 0x74]
jne case.0x1005be7c.157
inc ebx
jmp 0x1005be50
cmp dword [esi + 0x44], 0
je 0x1005ced7
cmp edi, dword [esi + 0x74]
je case.0x1005be7c.157
mov ecx, dword [esi + 0x74]
cmp edi, ecx
je 0x1005cec2
cmp edi, dword [esi + 0x78]
je case.0x1005be7c.157
cmp dword [esi + 0x18], 0
je 0x1005cf12
cmp edi, ecx
jbe case.0x1005be7c.157
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.10060535
add esp, 0x14
test eax, eax
je case.0x1005be7c.157
jmp 0x1005cec2
mov edx, dword [esi + 0x1c]
lea eax, [edx + ecx]
cmp edi, eax
jb case.0x1005be7c.157
mov ecx, edi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esi + 0x34]
jne case.0x1005be7c.157
xor eax, eax
inc eax
cmp edx, eax
je 0x1005cec2
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x35]
jmp 0x1005cebc
mov eax, dword [esi + 0x94]
add eax, dword [esi + 0x74]
cmp edi, eax
jmp 0x1005cebc
mov dword [ebp - 0x94], edi
jmp 0x1005cec2
mov ecx, dword [esi + 0x78]
cmp edi, ecx
jae 0x1005cffd
cmp dword [esi + 0x18], 0
je 0x1005cfd6
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.1006049d
add esp, 0x14
test eax, eax
jne 0x1005cec2
xor edx, edx
inc edx
mov ecx, dword [esi + 0x88]
test ecx, ecx
je case.0x1005be7c.157
lea eax, [edi + 1]
cmp eax, dword [esi + 0x78]
jb case.0x1005be7c.157
cmp dword [esi + 0x18], 0
jne case.0x1005be7c.157
cmp dword [esi + 0x1c], 2
jne case.0x1005be7c.157
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne case.0x1005be7c.157
mov dword [esi + 0x64], edx
cmp ecx, edx
jle case.0x1005be7c.157
push 0xfffffffffffffff4
jmp 0x1005f30d
sub ecx, dword [esi + 0x1c]
xor edx, edx
inc edx
cmp edi, ecx
ja 0x1005cf8b
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne 0x1005cf8b
cmp dword [esi + 0x1c], edx
je 0x1005cec2
mov al, byte [edi + 1]
cmp al, byte [esi + 0x35]
jne 0x1005cf8b
jmp 0x1005cec2
cmp dword [esi + 0x48], 0
jne case.0x1005be7c.157
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005cec2
cmp edi, dword [esi + 0x84]
jbe 0x1005cec2
xor edx, edx
inc edx
mov dword [esi + 0x64], edx
cmp eax, edx
jg 0x1005cfcf
jmp 0x1005cec2
cmp dword [esi + 0x48], 0
jne case.0x1005be7c.157
cmp dword [esi + 0x58], 0
je case.0x1005be7c.23
cmp edi, dword [esi + 0x78]
jb case.0x1005be7c.157
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005cec2
cmp edi, dword [esi + 0x84]
jbe 0x1005cec2
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jmp 0x1005d029
mov eax, dword [esi + 0x78]
cmp edi, eax
jae 0x1005d049
cmp dword [esi + 0x18], 0
lea ecx, [esi + 0x1c]
je 0x1005d096
push 0
push ecx
push eax
push dword [esi + 0x18]
push edi
call fcn.1006049d
add esp, 0x14
test eax, eax
je 0x1005d0bb
lea ecx, [esi + 0x1c]
jmp 0x1005d0b2
sub eax, dword [ecx]
cmp edi, eax
ja 0x1005d0bb
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne 0x1005d0bb
xor eax, eax
inc eax
cmp dword [ecx], eax
je 0x1005d0b2
mov al, byte [edi + 1]
cmp al, byte [esi + 0x35]
jne 0x1005d0bb
mov eax, dword [esi + 0x78]
sub eax, dword [ecx]
cmp edi, eax
je 0x1005d049
mov ecx, dword [esi + 0x88]
test ecx, ecx
je case.0x1005be7c.157
lea eax, [edi + 1]
cmp eax, dword [esi + 0x78]
jb case.0x1005be7c.157
cmp dword [esi + 0x18], 0
jne case.0x1005be7c.157
cmp dword [esi + 0x1c], 2
jne case.0x1005be7c.157
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne case.0x1005be7c.157
xor eax, eax
inc eax
mov dword [esi + 0x64], eax
cmp ecx, eax
jmp 0x1005cfc9
cmp edi, dword [esi + 0x74]
jne 0x1005d10d
xor ecx, ecx
xor edx, edx
inc ecx
jmp 0x1005d131
cmp edi, dword [esi + 0x84]
ja 0x1005d11e
lea eax, [edi - 1]
mov dword [esi + 0x84], eax
mov ecx, dword [esi + 0x40]
movzx eax, byte [edi - 1]
movzx edx, byte [eax + ecx]
xor ecx, ecx
shr edx, 4
inc ecx
and edx, ecx
cmp edi, dword [esi + 0x78]
jb 0x1005d157
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005d153
cmp edi, dword [esi + 0x84]
jbe 0x1005d153
mov dword [esi + 0x64], ecx
cmp eax, ecx
jg 0x1005cfcf
xor ecx, ecx
jmp 0x1005d169
movzx eax, byte [edi]
mov ecx, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
xor eax, eax
shr ecx, 4
inc eax
and ecx, eax
mov al, byte [ebx]
inc ebx
cmp al, 5
jne 0x1005d179
xor eax, eax
cmp ecx, edx
sete al
jmp 0x1005d180
xor eax, eax
cmp ecx, edx
setne al
test eax, eax
je 0x1005be50
jmp case.0x1005be7c.157
cmp dword [esi + 0x18], 0
je 0x1005d1f7
cmp edi, dword [esi + 0x78]
jae 0x1005d1b5
push 0
lea eax, [esi + 0x1c]
push eax
push dword [esi + 0x78]
push dword [esi + 0x18]
push edi
call fcn.1006049d
add esp, 0x14
test eax, eax
jne case.0x1005be7c.157
xor edx, edx
inc edx
mov ecx, dword [esi + 0x88]
test ecx, ecx
je case.0x1005be7c.13
lea eax, [edi + 1]
cmp eax, dword [esi + 0x78]
jb case.0x1005be7c.13
cmp dword [esi + 0x18], 0
jne case.0x1005be7c.13
cmp dword [esi + 0x1c], 2
jne case.0x1005be7c.13
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne case.0x1005be7c.13
mov dword [esi + 0x64], edx
cmp ecx, edx
jg 0x1005cfcf
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
inc edi
jmp 0x1005cec2
mov eax, dword [esi + 0x78]
sub eax, dword [esi + 0x1c]
cmp edi, eax
ja 0x1005d1b5
mov al, byte [edi]
xor edx, edx
inc edx
cmp al, byte [esi + 0x34]
jne 0x1005d1b8
cmp dword [esi + 0x1c], edx
je case.0x1005be7c.157
mov al, byte [edi + 1]
cmp al, byte [esi + 0x35]
je case.0x1005be7c.157
jmp 0x1005d1b8
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
jmp 0x1005cebc
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
jmp 0x1005cf0a
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
jmp 0x1005cebc
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
jmp 0x1005cf0a
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
jmp 0x1005cebc
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
jmp 0x1005cf0a
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
je 0x1005cec2
jbe case.0x1005be7c.157
cmp eax, 0xc
jbe 0x1005d2fb
cmp eax, 0xd
je 0x1005d304
cmp eax, 0x85
je 0x1005d2fb
cmp eax, 0x2027
jbe case.0x1005be7c.157
cmp eax, 0x2029
ja case.0x1005be7c.157
cmp dword [esi + 0x68], 0
jmp 0x1005cebc
cmp edi, dword [esi + 0x78]
jae 0x1005d049
cmp byte [edi], 0xa
jne 0x1005cec2
jmp 0x1005d1f1
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
mov ecx, 0x180e
inc edi
cmp eax, ecx
ja 0x1005d35e
je case.0x1005be7c.157
cmp eax, 9
je case.0x1005be7c.157
cmp eax, 0x20
je case.0x1005be7c.157
cmp eax, 0xa0
je case.0x1005be7c.157
cmp eax, 0x1680
jmp 0x1005cf0a
cmp eax, 0x2000
jb 0x1005cec2
cmp eax, 0x200a
jbe case.0x1005be7c.157
cmp eax, 0x202f
je case.0x1005be7c.157
cmp eax, 0x205f
je case.0x1005be7c.157
cmp eax, 0x3000
jmp 0x1005cf0a
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
mov ecx, 0x180e
inc edi
cmp eax, ecx
ja 0x1005d3d7
je 0x1005cec2
cmp eax, 9
je 0x1005cec2
cmp eax, 0x20
je 0x1005cec2
cmp eax, 0xa0
je 0x1005cec2
cmp eax, 0x1680
jmp 0x1005cebc
cmp eax, 0x2000
jb case.0x1005be7c.157
cmp eax, 0x200a
jbe 0x1005cec2
cmp eax, 0x202f
je 0x1005cec2
cmp eax, 0x205f
je 0x1005cec2
cmp eax, 0x3000
jmp 0x1005cebc
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jb 0x1005cec2
cmp eax, 0xd
jbe case.0x1005be7c.157
cmp eax, 0x85
je case.0x1005be7c.157
cmp eax, 0x2027
jbe 0x1005cec2
cmp eax, 0x2029
jbe case.0x1005be7c.157
jmp 0x1005cec2
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jb case.0x1005be7c.157
cmp eax, 0xd
jbe 0x1005cec2
cmp eax, 0x85
je 0x1005cec2
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x1005be7c.157
jmp 0x1005cec2
movzx ecx, byte [ebx + 3]
xor eax, eax
cmp edx, 0x74
sete al
shl ecx, 8
mov dword [ebp - 0x84], eax
xor edx, edx
movzx eax, byte [ebx + 4]
or ecx, eax
movzx eax, byte [ebx + 2]
mov dword [ebp - 0x80], ecx
movzx ecx, byte [ebx + 1]
add ebx, 5
shl ecx, 8
or ecx, eax
imul ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x30]
cmp dword [esi + 0x50], edx
mov dword [ebp - 0x9c], ecx
setne dl
xor ecx, ecx
dec edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0x80], ecx
jle 0x1005d58a
mov eax, dword [ebp - 0x9c]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
dec dword [ebp - 0x80]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [ebp - 0x90], ecx
cmp ecx, dword [ebp - 0x88]
jge 0x1005d518
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x1005d52f
mov eax, dword [ebp - 0x9c]
add eax, dword [esi + 0x24]
cmp dword [ebp - 0x80], 0
mov dword [ebp - 0x9c], eax
jg 0x1005d4f0
jmp 0x1005d58a
mov eax, dword [esi + 0xc]
mov edx, dword [eax + ecx*4 + 4]
sub edx, dword [eax + ecx*4]
jmp 0x1005d584
movzx ecx, byte [ebx + 1]
xor eax, eax
cmp edx, 0x72
sete al
shl ecx, 8
mov dword [ebp - 0x84], eax
movzx eax, byte [ebx + 2]
add ebx, 3
or ecx, eax
add ecx, ecx
mov dword [ebp - 0x90], ecx
cmp ecx, dword [ebp - 0x88]
jge 0x1005d57b
mov edx, dword [esi + 0xc]
mov eax, dword [edx + ecx*4]
test eax, eax
js 0x1005d57b
mov edx, dword [edx + ecx*4 + 4]
sub edx, eax
jmp 0x1005d584
xor edx, edx
cmp dword [esi + 0x50], edx
setne dl
dec edx
mov dword [ebp - 0xa4], edx
mov al, byte [ebx]
mov byte [ebp - 0xa5], al
cmp al, 0x62
jb 0x1005d6da
cmp al, 0x67
jbe 0x1005d5e5
cmp al, 0x69
ja 0x1005d6da
movzx ecx, byte [ebx + 1]
xor eax, eax
cmp byte [ebp - 0xa5], 0x69
sete al
shl ecx, 8
mov dword [ebp - 0xa0], eax
movzx eax, byte [ebx + 2]
or ecx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
mov dword [ebp - 0x80], eax
movzx eax, byte [ebx + 4]
or dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
cmove eax, dword [ebp - 0xb8]
add ebx, 5
jmp 0x1005d610
movzx eax, byte [ebp - 0xa5]
inc ebx
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [ebp - 0xa0], ecx
movsx ecx, byte [eax + 0x10184bee]
movsx eax, byte [eax + 0x10184bfa]
test eax, eax
cmove eax, dword [ebp - 0xb8]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x9c], ecx
test edx, edx
je 0x1005be50
jns 0x1005d62b
test ecx, ecx
je 0x1005be50
xor eax, eax
inc eax
mov dword [ebp - 0x8c], eax
cmp ecx, eax
jl 0x1005d676
push dword [ebp - 0x84]
push esi
push edx
push edi
push dword [ebp - 0x90]
call fcn.1005f5c1
add esp, 0x14
test eax, eax
js 0x1005e9d6
mov ecx, dword [ebp - 0x9c]
add edi, eax
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jle 0x1005d638
mov eax, dword [ebp - 0x80]
cmp ecx, eax
je 0x1005be50
cmp dword [ebp - 0xa0], 0
jne 0x1005ea2e
mov dword [ebp - 0xa0], edi
cmp ecx, eax
jge 0x1005ea83
push dword [ebp - 0x84]
push esi
push edx
push edi
push dword [ebp - 0x90]
call fcn.1005f5c1
add esp, 0x14
test eax, eax
js 0x1005ea59
mov edx, dword [ebp - 0xa4]
add edi, eax
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x80]
jl 0x1005d69c
jmp 0x1005eab3
push dword [ebp - 0x84]
push esi
push edx
push edi
push ecx
call fcn.1005f5c1
add esp, 0x14
test eax, eax
js 0x1005e9d6
add edi, eax
jmp 0x1005be50
lea eax, [ebx + 1]
add ebx, 0x21
mov dword [ebp - 0x8c], eax
mov cl, byte [ebx]
mov al, cl
cmp al, 0x62
jb 0x1005d87d
cmp al, 0x67
jbe 0x1005d82b
cmp al, 0x69
jbe 0x1005d72f
cmp al, 0x6c
jbe 0x1005d82b
cmp al, 0x6d
jne 0x1005d87d
movzx edx, byte [ebx + 3]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x9c], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebx + 1]
sete al
shl ecx, 8
mov dword [ebp - 0xa4], eax
movzx eax, byte [ebx + 2]
or ecx, eax
shl edx, 8
movzx eax, byte [ebx + 4]
or edx, eax
mov dword [ebp - 0x80], ecx
mov eax, bind
cmove edx, eax
add ebx, 5
mov dword [ebp - 0x90], edx
xor edx, edx
inc edx
mov dword [ebp - 0x84], edx
cmp ecx, edx
jl 0x1005d7c3
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx edx, byte [edi]
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
inc edi
mov ecx, dword [ebp - 0x8c]
test byte [edx + ecx], al
je case.0x1005be7c.157
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, ecx
jle 0x1005d786
mov eax, dword [ebp - 0x90]
cmp ecx, eax
je 0x1005be50
cmp dword [ebp - 0x9c], 0
jne 0x1005eafb
mov edx, edi
mov dword [ebp - 0x84], edx
cmp ecx, eax
jge 0x1005d8b6
cmp edi, dword [esi + 0x78]
jae 0x1005d890
movzx edx, byte [edi]
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x8c]
test byte [edx + ecx], al
je 0x1005d8b0
mov eax, dword [ebp - 0x80]
inc edi
inc eax
mov dword [ebp - 0x80], eax
cmp eax, dword [ebp - 0x90]
jl 0x1005d7ee
jmp 0x1005d8b0
movzx eax, cl
sub eax, 0x62
inc ebx
cmp eax, 8
jae 0x1005d844
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x9c], ecx
jmp 0x1005d84e
mov dword [ebp - 0xa4], 1
movsx ecx, byte [eax + 0x10184c50]
movsx eax, byte [eax + 0x10184c5c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x1005d779
mov eax, bind
mov dword [ebp - 0x90], eax
jmp 0x1005d779
xor edx, edx
inc edx
mov ecx, edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x80], ecx
jmp 0x1005d77c
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005d8b0
cmp edi, dword [esi + 0x84]
jbe 0x1005d8b0
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jg 0x1005cfcf
mov edx, dword [ebp - 0x84]
cmp dword [ebp - 0xa4], 0
jne 0x1005be50
cmp edi, edx
jb case.0x1005be7c.157
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
dec edi
cmp edi, dword [ebp - 0x84]
jae 0x1005d8cb
jmp case.0x1005be7c.157
mov eax, dword [esi + 0x78]
xor ecx, ecx
sub eax, edi
inc ecx
cmp eax, ecx
jl 0x1005eb26
mov al, byte [edi]
inc edi
cmp byte [ebx + 1], al
jne case.0x1005be7c.157
jmp 0x1005dc25
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
mov edx, dword [esi + 0x38]
movzx eax, byte [ebx + 1]
movzx ecx, byte [edi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x1005be7c.157
inc edi
jmp 0x1005dc25
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov edx, ecx
jmp 0x1005d9f7
xor eax, eax
inc eax
mov dword [ebp - 0xa4], eax
movzx ecx, byte [ebx + 1]
xor edx, edx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x80], edx
mov al, byte [ebx]
mov dword [ebp - 0x8c], ecx
cmp al, 0x28
je 0x1005d993
cmp al, 0x35
je 0x1005d993
and dword [ebp - 0x9c], edx
jmp 0x1005d99c
xor eax, eax
inc eax
mov dword [ebp - 0x9c], eax
add ebx, 3
jmp 0x1005da00
xor eax, eax
inc eax
xor edx, edx
mov ecx, bind
mov dword [ebp - 0xa4], eax
inc ebx
jmp 0x1005d9f7
xor eax, eax
inc eax
mov edx, eax
jmp 0x1005d9a6
xor eax, eax
inc eax
xor edx, edx
mov ecx, eax
jmp 0x1005d9ab
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
inc ebx
mov eax, ecx
and eax, 1
mov dword [ebp - 0x9c], eax
mov eax, bind
movsx edx, byte [ecx + 0x10184c50]
movsx ecx, byte [ecx + 0x10184c5c]
test ecx, ecx
cmove ecx, eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x8c], ecx
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x90], 0x2e
mov dword [ebp - 0x84], eax
jb 0x1005db1a
mov ecx, dword [ebp - 0x84]
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + ecx]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x90], eax
xor eax, eax
inc eax
cmp edx, eax
jl 0x1005da6f
mov dword [ebp - 0xa0], eax
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
cmp dword [ebp - 0x84], eax
je 0x1005da5d
cmp dword [ebp - 0x90], eax
jne case.0x1005be7c.157
mov eax, dword [ebp - 0xa0]
inc edi
inc eax
mov dword [ebp - 0xa0], eax
cmp eax, edx
jle 0x1005da3d
cmp edx, ecx
je 0x1005be50
cmp dword [ebp - 0x9c], 0
jne 0x1005eb79
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x1005dad0
cmp edi, dword [esi + 0x78]
jae 0x1005daad
movzx eax, byte [edi]
cmp dword [ebp - 0x84], eax
je 0x1005daa5
cmp dword [ebp - 0x90], eax
jne 0x1005dacd
inc edi
inc edx
cmp edx, ecx
jl 0x1005da8d
jmp 0x1005dacd
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005dacd
cmp edi, dword [esi + 0x84]
jbe 0x1005dacd
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jg 0x1005cfcf
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xa4], 0
jne 0x1005be50
cmp edi, eax
je 0x1005e7ad
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
dec edi
test eax, eax
jne 0x1005f30e
cmp edi, dword [ebp - 0x80]
jne 0x1005dae5
jmp 0x1005e7ad
xor eax, eax
inc eax
mov dword [ebp - 0xa0], eax
cmp edx, eax
jl 0x1005db51
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x84], eax
jne case.0x1005be7c.157
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp eax, edx
jle 0x1005db27
cmp edx, ecx
je 0x1005be50
cmp dword [ebp - 0x9c], 0
jne 0x1005ebd0
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x1005dbaa
cmp edi, dword [esi + 0x78]
jae 0x1005db87
movzx eax, byte [edi]
cmp dword [ebp - 0x84], eax
jne 0x1005dba7
inc edi
inc edx
cmp edx, ecx
jl 0x1005db6f
jmp 0x1005dba7
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005dba7
cmp edi, dword [esi + 0x84]
jbe 0x1005dba7
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jg 0x1005cfcf
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xa4], 0
jne 0x1005be50
cmp edi, eax
je 0x1005e7ad
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
dec edi
test eax, eax
jne 0x1005f30e
cmp edi, dword [ebp - 0x80]
jne 0x1005dbbf
jmp 0x1005e7ad
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx edx, byte [edi]
inc edi
movzx ecx, byte [ebx + 1]
cmp ecx, edx
je case.0x1005be7c.157
cmp dword [ebp - 0x90], 0x20
jne 0x1005dc25
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x1005be7c.157
add ebx, 2
jmp 0x1005be50
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov edx, ecx
add ebx, 3
jmp 0x1005dcec
movzx ecx, byte [ebx + 1]
xor edx, edx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x80], edx
mov al, byte [ebx]
mov dword [ebp - 0x8c], ecx
cmp al, 0x42
je 0x1005dc6e
cmp al, 0x4f
je 0x1005dc6e
and dword [ebp - 0x9c], edx
jmp 0x1005dc77
xor eax, eax
inc eax
mov dword [ebp - 0x9c], eax
add ebx, 3
jmp 0x1005dcf5
xor eax, eax
inc eax
xor edx, edx
mov ecx, bind
mov dword [ebp - 0xa4], eax
inc ebx
jmp 0x1005dcec
xor eax, eax
inc eax
mov edx, eax
jmp 0x1005dc81
xor eax, eax
inc eax
xor edx, edx
mov ecx, eax
jmp 0x1005dc86
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
shl ecx, 8
mov dword [ebp - 0xa4], eax
xor edx, edx
movzx eax, byte [ebx + 2]
or ecx, eax
jmp 0x1005dc3c
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
inc ebx
mov eax, ecx
and eax, 1
mov dword [ebp - 0x9c], eax
mov eax, bind
movsx edx, byte [ecx + 0x10184c50]
movsx ecx, byte [ecx + 0x10184c5c]
test ecx, ecx
cmove ecx, eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x80], edx
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x90], 0x48
mov dword [ebp - 0x84], eax
jb 0x1005de13
mov ecx, dword [ebp - 0x84]
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + ecx]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x90], eax
xor eax, eax
inc eax
mov dword [ebp - 0xa0], eax
cmp edx, eax
jl 0x1005dd68
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
cmp dword [ebp - 0x84], eax
je case.0x1005be7c.157
cmp dword [ebp - 0x90], eax
je case.0x1005be7c.157
mov eax, dword [ebp - 0xa0]
inc edi
inc eax
mov dword [ebp - 0xa0], eax
cmp eax, edx
jle 0x1005dd32
cmp edx, ecx
je 0x1005be50
cmp dword [ebp - 0x9c], 0
jne 0x1005ec33
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x1005ddc9
cmp edi, dword [esi + 0x78]
jae 0x1005dda6
movzx eax, byte [edi]
cmp dword [ebp - 0x84], eax
je 0x1005ddc6
cmp dword [ebp - 0x90], eax
je 0x1005ddc6
inc edi
inc edx
cmp edx, ecx
jl 0x1005dd86
jmp 0x1005ddc6
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005ddc6
cmp edi, dword [esi + 0x84]
jbe 0x1005ddc6
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jg 0x1005cfcf
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xa4], 0
jne 0x1005be50
cmp edi, eax
je 0x1005e7ad
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
dec edi
cmp edi, dword [ebp - 0x80]
jne 0x1005ddde
jmp 0x1005e7ad
xor eax, eax
inc eax
mov dword [ebp - 0xa0], eax
cmp edx, eax
jl 0x1005de4a
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x84], eax
je case.0x1005be7c.157
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp eax, edx
jle 0x1005de20
cmp edx, ecx
je 0x1005be50
cmp dword [ebp - 0x9c], 0
jne 0x1005ec8a
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x1005dea3
cmp edi, dword [esi + 0x78]
jae 0x1005de80
movzx eax, byte [edi]
cmp dword [ebp - 0x84], eax
je 0x1005dea0
inc edi
inc edx
cmp edx, ecx
jl 0x1005de68
jmp 0x1005dea0
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005dea0
cmp edi, dword [esi + 0x84]
jbe 0x1005dea0
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jg 0x1005cfcf
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0xa4], 0
jne 0x1005be50
cmp edi, eax
je 0x1005e7ad
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
dec edi
cmp edi, dword [ebp - 0x80]
jne 0x1005deb8
jmp 0x1005e7ad
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x80], ecx
mov edx, ecx
xor ecx, ecx
inc ecx
add ebx, 3
mov dword [ebp - 0x9c], ecx
jmp 0x1005dfa7
movzx eax, byte [ebx + 1]
xor edx, edx
shl eax, 8
mov dword [ebp - 0x80], eax
movzx eax, byte [ebx + 2]
or dword [ebp - 0x80], eax
xor eax, eax
cmp cl, 0x5c
sete al
mov dword [ebp - 0x9c], eax
add ebx, 3
jmp 0x1005dfa4
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, bind
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xa4], ecx
inc ebx
jmp 0x1005dfa7
xor ecx, ecx
inc ecx
mov edx, ecx
jmp 0x1005df3b
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp - 0x80], ecx
jmp 0x1005df43
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
shl ecx, 8
mov dword [ebp - 0xa4], eax
xor edx, edx
movzx eax, byte [ebx + 2]
or ecx, eax
mov dword [ebp - 0x80], ecx
jmp 0x1005df31
lea eax, [edx - 0x55]
inc ebx
movsx edx, byte [eax + 0x10184c50]
mov ecx, eax
movsx eax, byte [eax + 0x10184c5c]
and ecx, 1
mov dword [ebp - 0x9c], ecx
test eax, eax
mov ecx, bind
cmove eax, ecx
mov dword [ebp - 0x80], eax
xor ecx, ecx
inc ecx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], eax
test edx, edx
jle 0x1005e323
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1005ed40.15
jmp dword [eax*4 + 0x1005f501]
mov dword [ebp - 0xa0], ecx
cmp edx, ecx
jl 0x1005e31d
jmp 0x1005dfe5
xor ecx, ecx
inc ecx
mov eax, dword [esi + 0x78]
cmp edi, eax
jae 0x1005eb26
cmp dword [esi + 0x18], 0
je 0x1005e016
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push dword [esi + 0x18]
push edi
call fcn.1006049d
add esp, 0x14
test eax, eax
jne case.0x1005be7c.157
lea edx, [esi + 0x1c]
jmp 0x1005e03a
lea edx, [esi + 0x1c]
sub eax, dword [edx]
cmp edi, eax
ja 0x1005e03a
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne 0x1005e03a
cmp dword [edx], ecx
je case.0x1005be7c.157
mov al, byte [edi + 1]
cmp al, byte [esi + 0x35]
je case.0x1005be7c.157
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x1005e06c
lea eax, [edi + 1]
cmp eax, dword [esi + 0x78]
jb 0x1005e06c
cmp dword [esi + 0x18], 0
jne 0x1005e06c
cmp dword [edx], 2
jne 0x1005e06c
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne 0x1005e06c
xor eax, eax
inc eax
mov dword [esi + 0x64], eax
cmp ecx, eax
jg 0x1005cfcf
mov ecx, dword [ebp - 0xa0]
inc edi
mov edx, dword [ebp - 0x8c]
inc ecx
mov dword [ebp - 0xa0], ecx
cmp ecx, edx
jle 0x1005dfe2
jmp 0x1005e31d
mov eax, dword [esi + 0x78]
sub eax, edx
cmp edi, eax
ja 0x1005eb26
add edi, edx
jmp 0x1005e31d
xor eax, eax
inc eax
cmp edx, eax
jl 0x1005e31d
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
je 0x1005e0e3
jle case.0x1005be7c.157
cmp eax, 0xc
jle 0x1005e0d9
cmp eax, 0xd
je 0x1005e0ed
cmp eax, 0x85
jne case.0x1005be7c.157
cmp dword [esi + 0x68], 0
jne case.0x1005be7c.157
inc ecx
cmp ecx, edx
jle 0x1005e0ac
jmp 0x1005e31d
cmp edi, dword [esi + 0x78]
jae 0x1005e0e3
cmp byte [edi], 0xa
jne 0x1005e0e3
inc edi
jmp 0x1005e0e3
xor eax, eax
inc eax
cmp edx, eax
jl 0x1005e31d
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 9
je case.0x1005be7c.157
cmp eax, 0x20
je case.0x1005be7c.157
cmp eax, 0xa0
je case.0x1005be7c.157
inc ecx
cmp ecx, edx
jle 0x1005e105
jmp 0x1005e31d
xor eax, eax
inc eax
cmp edx, eax
jl 0x1005e31d
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 9
je 0x1005e166
cmp eax, 0x20
je 0x1005e166
cmp eax, 0xa0
jne case.0x1005be7c.157
inc ecx
cmp ecx, edx
jle 0x1005e144
jmp 0x1005e31d
xor eax, eax
inc eax
cmp edx, eax
jl 0x1005e31d
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl 0x1005e1a1
cmp eax, 0xd
jle case.0x1005be7c.157
cmp eax, 0x85
je case.0x1005be7c.157
inc ecx
cmp ecx, edx
jle 0x1005e17b
jmp 0x1005e31d
xor eax, eax
inc eax
cmp edx, eax
jl 0x1005e31d
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl case.0x1005be7c.157
cmp eax, 0xd
jle 0x1005e1dc
cmp eax, 0x85
jne case.0x1005be7c.157
inc ecx
cmp ecx, edx
jle 0x1005e1b6
jmp 0x1005e31d
mov edx, ecx
cmp dword [ebp - 0x8c], ecx
jl 0x1005e317
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
jne case.0x1005be7c.157
inc edi
inc edx
cmp edx, dword [ebp - 0x8c]
jle 0x1005e1f4
jmp 0x1005e317
mov edx, ecx
cmp dword [ebp - 0x8c], ecx
jl 0x1005e317
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
je case.0x1005be7c.157
inc edi
inc edx
cmp edx, dword [ebp - 0x8c]
jle 0x1005e22a
jmp 0x1005e317
mov edx, ecx
cmp dword [ebp - 0x8c], ecx
jl 0x1005e317
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
jne case.0x1005be7c.157
inc edi
inc edx
cmp edx, dword [ebp - 0x8c]
jle 0x1005e260
jmp 0x1005e317
mov edx, ecx
cmp dword [ebp - 0x8c], ecx
jl 0x1005e317
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
je case.0x1005be7c.157
inc edi
inc edx
cmp edx, dword [ebp - 0x8c]
jle 0x1005e296
jmp 0x1005e317
mov edx, ecx
cmp dword [ebp - 0x8c], ecx
jl 0x1005e317
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x1005be7c.157
inc edi
inc edx
cmp edx, dword [ebp - 0x8c]
jle 0x1005e2c5
jmp 0x1005e317
mov edx, ecx
cmp dword [ebp - 0x8c], ecx
jl 0x1005e317
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je case.0x1005be7c.157
inc edi
inc edx
cmp edx, dword [ebp - 0x8c]
jle 0x1005e2f4
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x80]
cmp edx, ecx
je 0x1005be50
cmp dword [ebp - 0x9c], 0
jne 0x1005ee7e
add eax, 0xfffffffa
mov dword [ebp - 0x84], edi
cmp eax, 0xf
ja case.0x1005ed40.15
jmp dword [eax*4 + 0x1005f541]
cmp edx, ecx
jge 0x1005e42d
mov eax, dword [esi + 0x78]
cmp edi, eax
jae 0x1005e40d
cmp dword [esi + 0x18], 0
je 0x1005e38d
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push dword [esi + 0x18]
push edi
call fcn.1006049d
add esp, 0x14
test eax, eax
jne 0x1005e42d
lea edx, [esi + 0x1c]
jmp 0x1005e3b0
lea edx, [esi + 0x1c]
sub eax, dword [edx]
cmp edi, eax
ja 0x1005e3b0
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne 0x1005e3b0
xor eax, eax
inc eax
cmp dword [edx], eax
je 0x1005e42d
mov al, byte [edi + 1]
cmp al, byte [esi + 0x35]
je 0x1005e42d
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x1005e3e2
lea eax, [edi + 1]
cmp eax, dword [esi + 0x78]
jb 0x1005e3e2
cmp dword [esi + 0x18], 0
jne 0x1005e3e2
cmp dword [edx], 2
jne 0x1005e3e2
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne 0x1005e3e2
xor eax, eax
inc eax
mov dword [esi + 0x64], eax
cmp ecx, eax
jg 0x1005cfcf
mov edx, dword [ebp - 0x8c]
inc edi
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, dword [ebp - 0x80]
jl 0x1005e35c
jmp 0x1005e42d
mov eax, dword [esi + 0x78]
sub ecx, edx
sub eax, edi
cmp ecx, eax
jbe 0x1005e49b
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1005e42d
cmp edi, dword [esi + 0x84]
jbe 0x1005e42d
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jg 0x1005cfcf
cmp dword [ebp - 0xa4], 0
jne 0x1005be50
cmp edi, dword [ebp - 0x84]
je 0x1005e7ad
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
mov ecx, dword [ebp - 0x84]
dec edi
cmp dword [ebp - 0x90], 0x11
jne 0x1005e492
cmp edi, ecx
jbe 0x1005e494
cmp byte [edi], 0xa
jne 0x1005e492
lea eax, [edi - 1]
cmp byte [eax], 0xd
cmove edi, eax
cmp edi, ecx
jne 0x1005e446
jmp 0x1005e7ad
add edi, ecx
jmp 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
movzx eax, byte [edi]
cmp eax, 0xd
jne 0x1005e4c1
inc edi
cmp edi, dword [esi + 0x78]
jae 0x1005e42d
cmp byte [edi], 0xa
jne 0x1005e4e6
jmp 0x1005e4e5
cmp eax, 0xa
je 0x1005e4e5
cmp dword [esi + 0x68], 0
jne 0x1005e42d
cmp eax, 0xb
je 0x1005e4e5
cmp eax, 0xc
je 0x1005e4e5
cmp eax, 0x85
jne 0x1005e42d
inc edi
inc edx
cmp edx, ecx
jl 0x1005e49f
jmp 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
mov al, byte [edi]
cmp al, 9
je 0x1005e42d
cmp al, 0x20
je 0x1005e42d
cmp al, 0xa0
je 0x1005e42d
inc edi
inc edx
cmp edx, ecx
jl 0x1005e4f0
jmp 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
mov al, byte [edi]
cmp al, 9
je 0x1005e539
cmp al, 0x20
je 0x1005e539
cmp al, 0xa0
jne 0x1005e42d
inc edi
inc edx
cmp edx, ecx
jl 0x1005e51e
jmp 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
mov al, byte [edi]
cmp al, 0xa
jb 0x1005e563
cmp al, 0xd
jbe 0x1005e42d
cmp al, 0x85
je 0x1005e42d
inc edi
inc edx
cmp edx, ecx
jl 0x1005e544
jmp 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
mov al, byte [edi]
cmp al, 0xa
jb 0x1005e42d
cmp al, 0xd
jbe 0x1005e58d
cmp al, 0x85
jne 0x1005e42d
inc edi
inc edx
cmp edx, ecx
jl 0x1005e56e
jmp 0x1005e42d
cmp edx, ecx
jge 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
jne 0x1005e42d
inc edi
inc edx
cmp edx, dword [ebp - 0x80]
jl 0x1005e5a0
jmp 0x1005e42d
cmp edx, ecx
jge 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
je 0x1005e42d
inc edi
inc edx
cmp edx, dword [ebp - 0x80]
jl 0x1005e5cd
jmp 0x1005e42d
cmp edx, ecx
jge 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
jne 0x1005e42d
inc edi
inc edx
cmp edx, dword [ebp - 0x80]
jl 0x1005e5fa
jmp 0x1005e42d
cmp edx, ecx
jge 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
je 0x1005e42d
inc edi
inc edx
cmp edx, dword [ebp - 0x80]
jl 0x1005e627
jmp 0x1005e42d
cmp edx, ecx
jge 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
jne 0x1005e42d
inc edi
inc edx
cmp edx, dword [ebp - 0x80]
jl 0x1005e654
jmp 0x1005e42d
cmp edx, ecx
jge 0x1005e42d
cmp edi, dword [esi + 0x78]
jae 0x1005e40d
movzx ecx, byte [edi]
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je 0x1005e42d
inc edi
inc edx
cmp edx, dword [ebp - 0x80]
jl 0x1005e681
jmp 0x1005e42d
push dword [ebp - 0xa0]
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
add ebx, 3
jmp 0x1005e7ad
mov eax, dword [ebp + 0x20]
inc eax
cmp byte [ebx], 0x7a
push eax
push dword [ebp - 0x98]
push esi
push ecx
push dword [ebp - 0x94]
jne 0x1005e70c
lea eax, [ebx + 3]
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
mov ebx, dword [ebp - 0x80]
mov al, byte [ebx]
cmp al, 0x81
je 0x1005e938
cmp al, 0x88
jae 0x1005c349
jmp 0x1005e7ad
push edx
push edi
call fcn.1005bd91
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x80]
cmp ecx, 0xfffffc1b
jne 0x1005e731
cmp dword [esi + 0xb4], eax
jne 0x1005f111
xor ecx, ecx
test ecx, ecx
jne 0x1005f111
cmp byte [eax], 0x81
jne 0x1005e6bd
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
jmp 0x1005cddf
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xa0], ecx
lea eax, [ecx + ecx]
cmp eax, dword [esi + 0x14]
jl 0x1005eead
cmp edx, 0x88
jae 0x1005e7c3
cmp edx, 0x81
je 0x1005e7c3
cmp dword [esi + 0x6c], 0
jne 0x1005e7cd
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebx], 0x77
je 0x1005e7cd
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x10184c68]
add ebx, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x1005f309
mov ecx, dword [ebp - 0x98]
jmp 0x1005be1a
mov dword [esi + 0x98], 2
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
push eax
push edi
call fcn.1005bd91
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc20
jne 0x1005e845
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add eax, ebx
cmp dword [esi + 0x7c], eax
jae 0x1005f031
cmp byte [ebx], 0x77
je 0x1005e843
cmp byte [eax], 0x77
jne 0x1005f031
xor edx, edx
test edx, edx
jne 0x1005eff1
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xb0]
add ebx, ecx
mov dword [esi + 0xac], eax
cmp byte [ebx], 0x77
jne case.0x1005be7c.157
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x90]
mov dword [esi + 0x90], eax
jmp case.0x1005be7c.129
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
lea ecx, [ebx + 2]
mov eax, 0xfffffc1f
mov dword [esi + 0x7c], ecx
jmp 0x1005f30e
push 0xffffffffffffffe6
jmp 0x1005f30d
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0xcc], eax
je case.0x1005be7c.157
push dword [ebp - 0xcc]
call dword [0x101e9070]
pop ecx
jmp case.0x1005be7c.157
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0xa4], eax
jmp 0x1005e8db
lea ecx, [ebp - 0x7c]
cmp dword [ebp - 0xcc], ecx
je 0x1005f30e
push dword [ebp - 0xcc]
call dword [0x101e9070]
mov eax, dword [ebp - 0xa0]
pop ecx
jmp 0x1005f30e
push 0xfffffffffffffffa
jmp 0x1005f30d
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
mov dword [esi + 0xb4], ebx
jmp 0x1005ce03
mov eax, dword [ebp - 0x94]
mov dword [esi + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [esi + 0x80], edi
mov dword [esi + 0x8c], ecx
jmp 0x1005f30e
mov eax, dword [ebp - 0x88]
mov dword [esi + 0x8c], eax
mov eax, dword [ebp - 0x94]
mov dword [esi + 0x80], edi
mov dword [esi + 0x7c], eax
xor eax, eax
inc eax
jmp 0x1005f30e
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x1005be7c.157
cmp edi, dword [esi + 0x84]
jbe case.0x1005be7c.157
xor ecx, ecx
inc ecx
mov dword [esi + 0x64], ecx
cmp eax, ecx
jmp 0x1005cfc9
cmp eax, 0xfffffffe
jne 0x1005e9de
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x1005be7c.157
cmp edi, dword [esi + 0x78]
jb case.0x1005be7c.157
jmp 0x1005e9bd
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], eax
jge case.0x1005be7c.157
push dword [ebp - 0x84]
push esi
push dword [ebp - 0xa4]
push edi
push dword [ebp - 0x90]
call fcn.1005f5c1
add esp, 0x14
test eax, eax
js 0x1005e9d6
add edi, eax
inc dword [ebp - 0x9c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005e9f7
jmp 0x1005f30e
cmp eax, 0xfffffffe
jne 0x1005eab3
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x1005eab3
mov eax, dword [esi + 0x78]
cmp eax, dword [esi + 0x84]
jbe 0x1005eab3
xor eax, eax
inc eax
mov dword [esi + 0x64], eax
cmp ecx, eax
jg 0x1005cfcf
jmp 0x1005eab3
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
sub edi, dword [ebp - 0xa4]
cmp edi, dword [ebp - 0xa0]
jae 0x1005ea83
jmp case.0x1005be7c.157
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0x80], eax
jge case.0x1005be7c.157
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx edx, byte [edi]
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
inc edi
mov ecx, dword [ebp - 0x8c]
test byte [edx + ecx], al
je case.0x1005be7c.157
inc dword [ebp - 0x80]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005eac0
jmp 0x1005f30e
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x1005be7c.157
cmp edi, dword [esi + 0x84]
jbe case.0x1005be7c.157
jmp 0x1005e9cc
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x8c]
jge case.0x1005be7c.157
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
cmp dword [ebp - 0x84], ecx
je 0x1005eb74
cmp dword [ebp - 0x90], ecx
jne case.0x1005be7c.157
inc edi
inc eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005eb45
jmp 0x1005f30e
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x8c]
jge case.0x1005be7c.157
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x84], eax
jne case.0x1005be7c.157
inc ecx
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005eba4
jmp 0x1005f30e
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x8c]
jge case.0x1005be7c.157
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx ecx, byte [edi]
cmp dword [ebp - 0x84], ecx
je case.0x1005be7c.157
cmp dword [ebp - 0x90], ecx
je case.0x1005be7c.157
inc edi
inc eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005ebfb
jmp 0x1005f30e
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x8c]
jge case.0x1005be7c.157
cmp edi, dword [esi + 0x78]
jae 0x1005e9af
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x84], eax
je case.0x1005be7c.157
inc ecx
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005ec5e
jmp 0x1005f30e
push 0xfffffffffffffff2
jmp 0x1005f30d
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x8c], eax
jge case.0x1005be7c.157
mov ecx, dword [esi + 0x78]
cmp edi, ecx
jae 0x1005e9af
mov edx, dword [ebp - 0x90]
cmp edx, 0xc
jne 0x1005ed30
cmp dword [esi + 0x18], 0
je 0x1005ed0a
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.1006049d
add esp, 0x14
test eax, eax
jne case.0x1005be7c.157
mov edx, dword [ebp - 0x90]
jmp 0x1005ed30
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja 0x1005ed30
mov al, byte [edi]
cmp al, byte [esi + 0x34]
jne 0x1005ed30
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je case.0x1005be7c.157
mov al, byte [edi + 1]
cmp al, byte [esi + 0x35]
je case.0x1005be7c.157
movzx ecx, byte [edi]
lea eax, [edx - 6]
inc edi
cmp eax, 0xf
ja case.0x1005ed40.15
jmp dword [eax*4 + 0x1005f581]
mov edx, dword [esi + 0x88]
test edx, edx
je case.0x1005ed40.13
cmp edi, dword [esi + 0x78]
jb case.0x1005ed40.13
cmp dword [esi + 0x18], 0
jne case.0x1005ed40.13
cmp dword [esi + 0x1c], 2
jne case.0x1005ed40.13
movzx eax, byte [esi + 0x34]
cmp ecx, eax
jne case.0x1005ed40.13
xor eax, eax
inc eax
mov dword [esi + 0x64], eax
cmp edx, eax
jg 0x1005cfcf
jmp case.0x1005ed40.13
cmp ecx, 0xa
je case.0x1005ed40.13
jbe case.0x1005be7c.157
cmp ecx, 0xc
jbe 0x1005edb6
cmp ecx, 0xd
je 0x1005edc5
cmp ecx, 0x85
jne case.0x1005be7c.157
cmp dword [esi + 0x68], 0
jne case.0x1005be7c.157
jmp case.0x1005ed40.13
cmp edi, dword [esi + 0x78]
jae case.0x1005ed40.13
cmp byte [edi], 0xa
jne case.0x1005ed40.13
inc edi
jmp case.0x1005ed40.13
cmp ecx, 9
je case.0x1005be7c.157
cmp ecx, 0x20
je case.0x1005be7c.157
cmp ecx, 0xa0
jmp 0x1005ee72
cmp ecx, 9
je case.0x1005ed40.13
cmp ecx, 0x20
je case.0x1005ed40.13
cmp ecx, 0xa0
jmp 0x1005edba
cmp ecx, 0xa
jb case.0x1005ed40.13
cmp ecx, 0xd
jbe case.0x1005be7c.157
cmp ecx, 0x85
jmp 0x1005ee72
cmp ecx, 0xa
jb case.0x1005be7c.157
cmp ecx, 0xd
jbe case.0x1005ed40.13
cmp ecx, 0x85
jmp 0x1005edba
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
jmp 0x1005edba
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 4
jmp 0x1005ee72
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
jmp 0x1005edba
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
jmp 0x1005ee72
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
jmp 0x1005edba
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je case.0x1005be7c.157
inc dword [ebp - 0x8c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0x94]
push ebx
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
je 0x1005ecbc
jmp 0x1005f30e
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + eax*4]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x84], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xac], eax
mov eax, edi
sub eax, dword [esi + 0x74]
mov dword [edx + ecx*4], eax
cmp dword [ebp - 0x90], 0x88
jb 0x1005ef0b
mov dword [esi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
mov dword [ebp - 0xb8], eax
cmp eax, 0xfffffc1b
je 0x1005efb3
cmp eax, 0xfffffc20
jne 0x1005ef7b
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
add edx, ebx
cmp dword [esi + 0x7c], edx
jae 0x1005f30e
cmp byte [ebx], 0x77
je 0x1005ef73
cmp byte [edx], 0x77
jne 0x1005f30e
xor eax, eax
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x1005f30e
mov eax, dword [ebp - 0xb0]
mov dword [esi + 0x90], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xac]
add ebx, ecx
mov dword [esi + 0xac], eax
cmp byte [ebx], 0x77
je 0x1005eef5
mov edx, dword [ebp - 0xa0]
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0xb4]
lea ecx, [edx + edx]
mov dword [eax + ecx*4], edi
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0xbc]
mov dword [eax + ecx*4 + 4], edi
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, edx
mov edx, dword [ebp - 0x84]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xb8]
jmp 0x1005f30e
cmp edx, 0xfffffc1b
jne 0x1005f031
mov al, byte [ebx]
cmp al, 0x81
je 0x1005f026
cmp al, 0x77
jne 0x1005f017
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1005f003
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
xor eax, eax
cmp dword [esi + 0xb4], ebx
cmove edx, eax
mov eax, edx
jmp 0x1005f30e
and dword [esi + 0xac], 0
lea eax, [ebx + 2]
mov dword [esi + 0xb0], eax
movzx ecx, byte [ebx + 1]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.1005bd91
mov ebx, eax
add esp, 0x1c
xor eax, eax
inc eax
cmp ebx, eax
je 0x1005f093
cmp ebx, 0xfffffc19
jne 0x1005f0af
cmp dword [esi + 0xac], 0
jne 0x1005f0af
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0xac], eax
mov eax, ebx
jmp 0x1005f30e
cmp ebx, 0xfffffc1f
jne 0x1005f0a8
push dword [esi + 0x7c]
mov eax, dword [ebp - 0xa0]
push eax
call fcn.100b3bf0
pop ecx
pop ecx
test eax, eax
jne 0x1005f0a8
mov dword [esi + 0x7c], edi
mov eax, 0xfffffc1e
jmp 0x1005f30e
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx ecx, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add ecx, ebx
push ecx
push edi
call fcn.1005bd91
mov ecx, 0xfffffc1c
add esp, 0x1c
test eax, eax
cmovne ecx, eax
mov eax, ecx
jmp 0x1005f30e
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
push eax
push edi
call fcn.1005bd91
mov ecx, 0xfffffc1d
jmp 0x1005f109
and dword [esi + 0xac], 0
lea eax, [ebx + 2]
mov dword [esi + 0xb0], eax
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.1005bd91
mov ecx, eax
add esp, 0x1c
xor eax, eax
inc eax
cmp ecx, eax
je 0x1005f19f
cmp ecx, 0xfffffc19
jne 0x1005f1b1
cmp dword [esi + 0xac], 0
jne 0x1005f1b1
lea eax, [ebx + 2]
mov dword [esi + 0xac], eax
test ecx, ecx
mov eax, 0xfffffc1d
cmovne eax, ecx
jmp 0x1005f30e
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
jmp 0x1005f0cc
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
push eax
push edi
call fcn.1005bd91
add esp, 0x1c
test eax, eax
jne 0x1005f30e
mov dword [esi + 0x7c], ebx
mov eax, 0xfffffc20
jmp 0x1005f30e
and dword [esi + 0xac], 0
lea eax, [ebx + 2]
mov dword [esi + 0xb0], eax
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0x98]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x10184c68]
push dword [ebp - 0x94]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.1005bd91
add esp, 0x1c
cmp eax, 1
je 0x1005f28e
cmp eax, 0xfffffc19
jne 0x1005f229
cmp dword [esi + 0xac], 0
jne 0x1005f229
lea ecx, [ebx + 2]
mov dword [esi + 0xac], ecx
jmp 0x1005f229
mov ecx, dword [ebp - 0x94]
cmp edi, ecx
jne 0x1005f2dd
cmp edx, 0x9f
je 0x1005f2dd
xor eax, eax
cmp dword [esi + 0xa4], eax
jne 0x1005f2dd
cmp dword [esi + 0x5c], eax
jne case.0x1005be7c.157
cmp dword [esi + 0x60], eax
je 0x1005f2dd
mov eax, dword [esi + 0x94]
add eax, dword [esi + 0x74]
cmp ecx, eax
je case.0x1005be7c.157
mov eax, dword [ebp - 0x88]
test edx, edx
mov dword [esi + 0x8c], eax
mov eax, 0xfffffc19
push 1
mov dword [esi + 0x7c], ecx
pop ecx
mov dword [esi + 0x80], edi
cmove eax, ecx
jmp 0x1005f30e
push 0xfffffffffffffffb
jmp 0x1005f30d
push 0xffffffffffffffeb
jmp 0x1005f30d
inc dword [esi]
push 0xfffffffffffffff8
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100531cc
mov esp, ebp
pop ebp
ret