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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [0x450440]
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]
push esi
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x88], eax
mov eax, dword [esi]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xa8], ecx
cmp eax, dword [esi + 4]
jae 0x41bdf8
mov dword [ebp - 0xbc], 0x7fffffff
inc dword [esi]
mov eax, dword [ebp + 0x20]
cmp eax, dword [esi + 8]
jae 0x41bdf4
cmp dword [esi + 0x94], 2
jne 0x418865
and dword [esi + 0x94], 0
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0xa8], eax
mov cl, byte [ebx]
and dword [ebp - 0x9c], 0
and dword [ebp - 0x80], 0
movzx edx, cl
mov dword [ebp - 0x90], edx
cmp edx, 0x9b
ja case.0x41888e.15
movzx eax, byte [edx + 0x41bf4c]
jmp dword [eax*4 + 0x41be10]
cmp dword [esi + 0x68], 0
je 0x41b293
movzx eax, byte [ebx + 1]
movzx ecx, byte [edx + 0x43f7b8]
add ebx, eax
add ebx, ecx
jmp 0x41910a
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0xac], eax
push eax
push dword [ebp - 0xa8]
lea eax, [ebx + 3]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push eax
push edi
call fcn.004187d4
mov ecx, eax
add esp, 0x1c
xor eax, eax
inc eax
cmp ecx, eax
je 0x418944
cmp ecx, 0xfffffc20
jne 0x418920
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, ebx
cmp dword [esi + 0x78], edx
jae 0x41b2ed
cmp byte [ebx], 0x71
je 0x41891e
cmp byte [edx], 0x71
jne 0x41b2ed
xor ecx, ecx
test ecx, ecx
jne 0x41b2ed
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x41894f
mov eax, dword [ebp - 0xac]
jmp 0x4188c6
mov edx, dword [esi + 0x78]
mov dword [ebp - 0xa4], edx
jmp 0x418955
mov edx, dword [ebp - 0xa4]
mov al, byte [ebx]
cmp al, 0x7c
je 0x418963
cmp al, 0x71
jne case.0x41888e.151
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x418963
cmp byte [ebx], 0x72
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x7c]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], edi
je 0x419107
cmp edi, dword [ebp - 0x80]
je 0x419107
mov eax, dword [ebp + 0x20]
inc eax
cmp byte [ebx], 0x74
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push edx
jne 0x41b053
lea eax, [ebx + 3]
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov ebx, dword [ebp - 0x94]
jmp 0x41b1e2
and dword [ebp - 0x80], 0
jmp 0x4194cc
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ebx + 3], 0x70
mov dword [ebp - 0xac], ecx
jne 0x418ae2
mov eax, dword [0x45189c]
mov dword [ebp - 0x94], eax
test eax, eax
je 0x418ad3
movzx eax, byte [ebx + 4]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0x74]
sub eax, ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xa4]
sub eax, ecx
mov dword [ebp - 0x104], 2
mov dword [ebp - 0xf0], eax
mov eax, edi
sub eax, ecx
movzx ecx, byte [ebx + 5]
mov dword [ebp - 0xec], eax
movzx eax, byte [ebx + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 8]
mov dword [ebp - 0xdc], ecx
movzx ecx, byte [ebx + 7]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
cdq
sub eax, edx
mov dword [ebp - 0xd8], ecx
sar eax, 1
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0xa4]
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x104]
push eax
call dword [ebp - 0x94]
pop ecx
test eax, eax
jg case.0x41888e.151
js 0x41bdfd
movzx eax, byte [0x43f828]
add ebx, eax
mov dword [ebp - 0xa0], ebx
lea edx, [ebx + 3]
movzx ecx, byte [edx]
cmp ecx, 0x89
je 0x418d19
cmp ecx, 0x8a
je 0x418d19
cmp ecx, 0x87
je 0x418b76
cmp ecx, 0x88
je 0x418b76
cmp ecx, 0x8b
jne 0x418b2c
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
jmp 0x418ec1
xor eax, eax
inc eax
mov dword [esi + 0x94], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push edx
push edi
call fcn.004187d4
add esp, 0x1c
cmp eax, 1
je 0x41b07c
test eax, eax
je 0x418b6b
cmp eax, 0xfffffc20
jne 0x41bdfd
add ebx, dword [ebp - 0xac]
jmp 0x418ec1
movzx edx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl edx, 8
or edx, eax
add edx, edx
cmp edx, dword [ebp - 0x88]
jge 0x418b9a
mov eax, dword [esi + 0xc]
cmp dword [eax + edx*4], 0
jge 0x418cf9
xor eax, eax
mov dword [ebp - 0x80], eax
cmp ecx, 0x88
jne 0x418d04
mov eax, dword [esi + 0x28]
xor ecx, ecx
sar edx, 1
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [esi + 0x20]
jge 0x418d04
mov ebx, eax
mov edi, ecx
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or ecx, eax
cmp ecx, edx
je 0x418be4
add ebx, dword [esi + 0x24]
inc edi
cmp edi, dword [esi + 0x20]
jl 0x418bcb
mov dword [ebp - 0x9c], edi
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x84]
cmp ecx, dword [esi + 0x20]
jge 0x418d04
mov edx, eax
cmp eax, dword [esi + 0x28]
jbe 0x418c81
lea ecx, [eax + 2]
mov dword [ebp - 0x94], ecx
sub edx, dword [esi + 0x24]
mov dword [ebp - 0xac], edx
lea eax, [edx + 2]
push eax
push ecx
call fcn.004251d0
pop ecx
pop ecx
test eax, eax
jne 0x418c75
mov edx, dword [ebp - 0xac]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x88]
jge 0x418c63
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x418cf9
xor eax, eax
mov dword [ebp - 0x80], eax
cmp edx, dword [esi + 0x28]
jbe 0x418c75
mov ecx, dword [ebp - 0x94]
jmp 0x418c21
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [esi + 0x20]
jge 0x418d04
lea ecx, [eax + 2]
mov dword [ebp - 0xac], ecx
add eax, dword [esi + 0x24]
mov dword [ebp - 0x84], eax
add eax, 2
push eax
push ecx
call fcn.004251d0
pop ecx
pop ecx
test eax, eax
jne 0x418d04
mov eax, dword [ebp - 0x84]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x88]
jge 0x418cd4
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x418cf9
xor eax, eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x20]
jge 0x418d04
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xac]
jmp 0x418c96
xor eax, eax
inc eax
push 3
mov dword [ebp - 0x80], eax
pop ecx
jmp 0x418d11
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov edx, dword [ebp - 0x80]
jmp 0x418ebb
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x418b18
movzx edx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl edx, 8
or edx, eax
mov dword [ebp - 0xac], edx
cmp edx, 0xffff
je 0x418eb3
mov eax, dword [esi + 0xa0]
cmp edx, dword [eax + 4]
je 0x418eb3
xor edx, edx
mov dword [ebp - 0x80], edx
cmp ecx, 0x8a
jne 0x418e9f
mov edx, dword [esi + 0x28]
xor eax, eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x20]
jge 0x418e9c
mov ebx, dword [ebp - 0xac]
mov edi, eax
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, ebx
je 0x418da1
add edx, dword [esi + 0x24]
inc edi
cmp edi, dword [esi + 0x20]
jl 0x418d88
mov ebx, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], edi
mov eax, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x84], edx
cmp eax, dword [esi + 0x20]
jge 0x418e9c
mov ecx, edx
cmp edx, dword [esi + 0x28]
jbe 0x418e31
add edx, 2
mov dword [ebp - 0x94], edx
sub ecx, dword [esi + 0x24]
mov dword [ebp - 0xac], ecx
lea eax, [ecx + 2]
push eax
push edx
call fcn.004251d0
pop ecx
pop ecx
test eax, eax
jne 0x418e25
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx]
movzx eax, byte [ecx + 1]
shl edx, 8
or edx, eax
mov eax, dword [esi + 0xa0]
sub edx, dword [eax + 4]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x80], edx
jne 0x418eb8
mov edx, dword [ebp - 0x94]
cmp ecx, dword [esi + 0x28]
ja 0x418dd8
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x20]
jge 0x418e9c
lea ecx, [edx + 2]
mov dword [ebp - 0xac], ecx
add edx, dword [esi + 0x24]
mov dword [ebp - 0x84], edx
lea eax, [edx + 2]
push eax
push ecx
call fcn.004251d0
pop ecx
pop ecx
test eax, eax
jne 0x418e9c
mov edx, dword [ebp - 0x84]
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 0xa0]
sub ecx, dword [eax + 4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x80], ecx
jne 0x418eae
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x20]
jl 0x418e46
mov edx, dword [ebp - 0x80]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
jmp 0x418ebb
mov edx, dword [ebp - 0x80]
jmp 0x418eb8
xor eax, eax
lea edx, [eax + 1]
push 3
pop ecx
add ebx, ecx
test edx, edx
jne 0x418eca
cmp byte [ebx], 0x71
jne 0x419107
mov edx, dword [ebp - 0x88]
cmp dword [ebp - 0x90], 0x86
jne 0x41b074
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
lea eax, [ebx + 3]
push esi
push edx
push dword [ebp - 0xa4]
push eax
push edi
mov dword [esi + 0x94], 2
call fcn.004187d4
add esp, 0x1c
jmp 0x41bdfd
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov dword [esi + 0x8c], edx
lea eax, [edx + edx]
mov dword [ebp - 0xac], eax
cmp eax, dword [esi + 0x14]
jl 0x418f3b
xor eax, eax
inc eax
mov dword [esi + 0x38], eax
jmp 0x419107
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, edx
mov edx, dword [ebp - 0xac]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, edi
mov eax, dword [esi + 0xc]
sub ecx, dword [esi + 0x70]
mov dword [eax + edx*4 + 4], ecx
cmp dword [ebp - 0x88], edx
jg 0x419107
lea eax, [edx + 2]
mov dword [ebp - 0x88], eax
jmp 0x419107
xor eax, eax
inc eax
cmp dword [esi + 0x94], eax
jne 0x418f8f
and dword [esi + 0x94], 0
mov dword [ebp - 0x94], eax
jmp 0x418f96
and dword [ebp - 0x94], 0
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xac], eax
push eax
push 0
push esi
push dword [ebp - 0x88]
lea eax, [ebx + 3]
push dword [ebp - 0xa4]
push eax
push edi
call fcn.004187d4
xor ecx, ecx
add esp, 0x1c
inc ecx
cmp eax, ecx
je 0x418ff6
cmp eax, 0xfffffc19
je 0x418ff6
test eax, eax
je 0x418fda
cmp eax, 0xfffffc20
jne 0x41bdfd
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x419001
mov eax, dword [ebp - 0xac]
jmp 0x418fa0
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xa4], eax
jmp 0x419004
xor ecx, ecx
inc ecx
cmp byte [ebx], 0x72
je case.0x41888e.151
cmp dword [ebp - 0x94], 0
jne 0x41b2ed
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41901a
mov eax, dword [esi + 0x88]
add ebx, 3
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x88], eax
jmp 0x418865
xor eax, eax
inc eax
cmp dword [esi + 0x94], eax
jne 0x419062
and dword [esi + 0x94], 0
mov dword [ebp - 0x94], eax
jmp 0x419069
and dword [ebp - 0x94], 0
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xac], eax
push eax
push 0
push esi
push dword [ebp - 0x88]
lea eax, [ebx + 3]
push dword [ebp - 0xa4]
push eax
push edi
call fcn.004187d4
xor edx, edx
add esp, 0x1c
inc edx
cmp eax, edx
je case.0x41888e.151
cmp eax, 0xfffffc19
je case.0x41888e.151
cmp eax, 0xfffffc1e
je 0x4190e6
cmp eax, 0xfffffc1d
je 0x4190e6
cmp eax, 0xfffffc1a
je 0x4190e6
test eax, eax
je 0x4190ca
cmp eax, 0xfffffc20
jne 0x41bdfd
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x4190fa
mov eax, dword [ebp - 0xac]
jmp 0x419073
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x4190e6
cmp dword [ebp - 0x94], 0
jne 0x41baab
add ebx, 3
mov dword [ebp - 0xa0], ebx
jmp 0x418865
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub edi, ecx
mov dword [ebp - 0x8c], edi
cmp edi, dword [esi + 0x70]
jb case.0x41888e.151
cmp edi, dword [esi + 0x80]
jae 0x419107
mov dword [esi + 0x80], edi
jmp 0x419107
mov eax, dword [0x45189c]
mov dword [ebp - 0x94], eax
test eax, eax
je 0x419216
movzx eax, byte [ebx + 1]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0x74]
sub eax, ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xa4]
sub eax, ecx
mov dword [ebp - 0x104], 2
mov dword [ebp - 0xf0], eax
mov eax, edi
sub eax, ecx
movzx ecx, byte [ebx + 2]
mov dword [ebp - 0xec], eax
movzx eax, byte [ebx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 5]
mov dword [ebp - 0xdc], ecx
movzx ecx, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
cdq
sub eax, edx
mov dword [ebp - 0xd8], ecx
sar eax, 1
mov dword [ebp - 0xe8], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0xa4]
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x104]
push eax
call dword [ebp - 0x94]
pop ecx
test eax, eax
jg case.0x41888e.151
js 0x41bdfd
add ebx, 6
jmp 0x41910a
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0x6c]
mov dword [ebp - 0x94], ecx
cmp ecx, dword [esi + 0x6c]
jne 0x41923d
xor edx, edx
jmp 0x41924a
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl edx, 8
or edx, eax
mov ecx, dword [esi + 0xa0]
mov eax, ecx
jmp 0x419264
cmp edx, dword [eax + 4]
jne 0x419262
cmp edi, dword [eax + 0x10]
je 0x41b2f4
mov eax, dword [eax]
test eax, eax
jne 0x419254
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xcc], edx
mov dword [esi + 0xa0], eax
add ebx, 3
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0xc4], eax
cmp eax, 0x1e
jg 0x4192a8
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0xc8], ecx
jmp 0x4192c9
shl eax, 2
push eax
call dword [section..data]
pop ecx
mov ecx, eax
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x41b34c
mov eax, dword [ebp - 0xc4]
shl eax, 2
push eax
push dword [esi + 0xc]
push ecx
call fcn.00424370
mov edx, dword [ebp - 0x94]
add esp, 0xc
mov ecx, dword [ebp + 0x20]
cmp byte [edx], 0x82
sbb eax, eax
inc eax
inc ecx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x9c], ecx
test eax, eax
je 0x419303
mov dword [esi + 0x94], 2
movzx eax, byte [edx]
push ecx
push dword [ebp - 0xa8]
movzx eax, byte [eax + 0x43f7b8]
push esi
push dword [ebp - 0x88]
add eax, edx
push dword [ebp - 0xa4]
push eax
push edi
call fcn.004187d4
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xc4]
shl eax, 2
push eax
push dword [ebp - 0xc8]
push dword [esi + 0xc]
call fcn.00424370
mov eax, dword [ebp - 0xd0]
add esp, 0x28
mov dword [esi + 0xa0], eax
mov eax, dword [ebp - 0x80]
cmp eax, 1
je 0x4193b3
cmp eax, 0xfffffc19
je 0x4193b3
test eax, eax
je 0x419372
cmp eax, 0xfffffc20
jne 0x41b2fb
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 0xd0]
mov dword [esi + 0xa0], eax
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebp - 0x94], edx
cmp byte [edx], 0x71
jne 0x41b31f
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x9c]
jmp 0x4192f5
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0xc8], eax
je 0x4193cb
push dword [ebp - 0xc8]
call dword [0x450004]
pop ecx
mov edi, dword [esi + 0x7c]
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0xa4], eax
jmp 0x418865
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je case.0x41888e.113
jmp 0x41910a
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x419426
jmp 0x419107
inc ebx
mov dword [ebp - 0xa0], 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], 0x71
je 0x419448
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
lea eax, [edx + 3]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x418865
jmp 0x41bdfd
inc ebx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41948f
jmp 0x419107
inc ebx
xor eax, eax
inc eax
mov dword [ebp - 0x80], eax
movzx edx, byte [ebx]
mov dword [ebp - 0x90], edx
cmp edx, 0x80
je 0x4194cc
cmp edx, 0x85
jne 0x419699
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x84], edx
lea eax, [edx + edx]
mov dword [ebp - 0x98], eax
cmp eax, dword [esi + 0x14]
jge 0x41968f
xor ecx, ecx
mov dword [ebp - 0x94], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x6c]
mov dword [ebp - 0xac], ecx
mov ecx, dword [esi + 0xc]
mov edi, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x10]
sub eax, edx
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0x8c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xb4], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0x9c], eax
mov ecx, dword [esi + 0x10]
mov edx, edi
sub ecx, dword [ebp - 0x84]
mov eax, dword [esi + 0xc]
sub edx, dword [esi + 0x70]
cmp dword [ebp - 0x90], 0x82
mov dword [eax + ecx*4], edx
jl 0x419564
mov dword [esi + 0x94], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1b
jne 0x4195d6
mov eax, dword [esi + 0x88]
mov ebx, dword [esi + 0x6c]
add ebx, dword [ebp - 0xac]
mov edi, dword [esi + 0x7c]
mov dword [ebp - 0x88], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0x9c], eax
xor eax, eax
mov dword [ebp - 0x8c], edi
lea ecx, [eax + 1]
mov dword [ebp - 0x94], ecx
jmp 0x41953a
cmp ecx, 0xfffffc20
jne 0x419606
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, ebx
cmp dword [esi + 0x78], edx
jae 0x41b2ed
cmp byte [ebx], 0x71
je 0x419604
cmp byte [edx], 0x71
jne 0x41b2ed
xor ecx, ecx
test ecx, ecx
jne 0x41b2ed
mov eax, dword [ebp - 0x9c]
mov dword [esi + 0x8c], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41953a
mov eax, dword [ebp - 0x94]
test eax, eax
jne 0x419676
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0xa0]
mov dword [eax + ecx*4], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0xb8]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0x80], 0
jne 0x419107
test eax, eax
jne 0x419107
xor eax, eax
jmp 0x41bdfd
mov edx, dword [ebp - 0x90]
and dword [ebp - 0x80], 0
and dword [ebp - 0x9c], 0
mov eax, ebx
sub eax, dword [esi + 0x6c]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0x94], eax
cmp edx, 0x82
jl 0x4196c7
mov dword [esi + 0x94], 2
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1b
jne 0x419730
mov eax, dword [esi + 0x88]
mov ebx, dword [esi + 0x6c]
add ebx, dword [ebp - 0xb4]
mov edi, dword [esi + 0x7c]
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x88], eax
xor eax, eax
inc eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x94]
jmp 0x4196b5
cmp ecx, 0xfffffc20
jne 0x419760
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, ebx
cmp dword [esi + 0x78], edx
jae 0x41b2ed
cmp byte [ebx], 0x71
je 0x41975e
cmp byte [edx], 0x71
jne 0x41b2ed
xor ecx, ecx
test ecx, ecx
jne 0x41b2ed
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
mov edx, dword [ebp - 0x90]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x94]
add ebx, ecx
cmp byte [ebx], 0x71
je 0x4196b5
cmp dword [ebp - 0x9c], 0
jne 0x419107
cmp dword [ebp - 0x80], 0
jmp 0x419682
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, 0x82
jae 0x4197c9
cmp al, 0x7b
je 0x4197c9
and dword [ebp - 0x98], 0
jmp 0x4197e6
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx]
mov dword [ebp - 0xa8], ecx
cmp al, 0x77
jb 0x4197f2
cmp al, 0x7a
jbe 0x41b39b
cmp al, 0x7c
je 0x41b39b
cmp al, 0x7f
je 0x41980e
cmp al, 0x84
je 0x41980e
cmp al, 0x80
je 0x41980e
cmp al, 0x85
jne 0x419902
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
mov edx, dword [ebp - 0x80]
shl ecx, 8
or ecx, eax
cmp dword [esi + 0xa0], 0
mov dword [ebp - 0xb8], ecx
lea eax, [ecx + ecx]
mov dword [ebp - 0x84], eax
je 0x419848
mov edx, dword [esi + 0xa0]
cmp dword [edx + 4], ecx
mov edx, dword [ebp - 0x80]
je 0x41b3a7
mov dword [esi + 0x8c], ecx
mov ecx, dword [ebp - 0x88]
cmp eax, dword [esi + 0x14]
jl 0x419864
xor eax, eax
inc eax
mov dword [esi + 0x38], eax
jmp 0x419908
cmp eax, ecx
jle 0x4198c4
mov eax, dword [esi + 0xc]
and dword [ebp - 0xb4], 0
and dword [ebp - 0x9c], 0
lea ecx, [eax + ecx*4]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x84]
lea eax, [eax + ecx*4]
mov ecx, eax
sub ecx, dword [ebp - 0x94]
add ecx, 3
shr ecx, 2
cmp dword [ebp - 0x94], eax
cmova ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x4198c4
mov eax, dword [ebp - 0x94]
or dword [eax], 0xffffffff
lea eax, [eax + 4]
inc dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], ecx
jb 0x4198b0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0xb8]
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 + 0x70]
mov dword [eax + edx*4 + 4], ecx
mov eax, edx
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x80]
cmp ecx, eax
jg 0x419908
lea ecx, [eax + 2]
mov dword [ebp - 0x88], ecx
jmp 0x419908
mov ecx, dword [ebp - 0x88]
cmp byte [ebx], 0x72
je 0x419919
cmp edi, dword [ebp - 0x98]
jne 0x41b0b9
cmp byte [edx], 0x7b
jne 0x419107
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push ecx
push dword [ebp - 0xa4]
lea eax, [ebx + 3]
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov eax, dword [ebp - 0x80]
mov dword [esi + 0xb0], eax
mov eax, 0xfffffc1c
jmp 0x41bdfd
cmp dword [esi + 0x3c], 0
je case.0x41888e.1
cmp edi, dword [esi + 0x70]
je case.0x41888e.151
cmp edi, dword [esi + 0x70]
jne case.0x41888e.151
inc ebx
jmp 0x41910a
cmp dword [esi + 0x3c], 0
je 0x41998a
cmp edi, dword [esi + 0x70]
je case.0x41888e.151
mov ecx, dword [esi + 0x70]
cmp edi, ecx
je 0x419975
cmp edi, dword [esi + 0x74]
je case.0x41888e.151
cmp dword [esi + 0x18], 0
je 0x4199c5
cmp edi, ecx
jbe case.0x41888e.151
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041cd0b
add esp, 0x14
test eax, eax
je case.0x41888e.151
jmp 0x419975
mov edx, dword [esi + 0x1c]
lea eax, [edx + ecx]
cmp edi, eax
jb case.0x41888e.151
mov ecx, edi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esi + 0x2c]
jne case.0x41888e.151
xor eax, eax
inc eax
cmp edx, eax
je 0x419975
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x2d]
jmp 0x41996f
mov eax, dword [esi + 0x90]
add eax, dword [esi + 0x70]
cmp edi, eax
jmp 0x41996f
mov dword [ebp - 0xa4], edi
jmp 0x419975
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x419a55
cmp dword [esi + 0x18], 0
je 0x419a2e
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041cc73
jmp 0x4199b8
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja case.0x41888e.151
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne case.0x41888e.151
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je 0x419975
mov al, byte [edi + 1]
jmp 0x4199ec
cmp dword [esi + 0x40], 0
jne case.0x41888e.151
mov eax, dword [esi + 0x84]
test eax, eax
je 0x419975
cmp edi, dword [esi + 0x80]
jbe 0x419975
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jle 0x419975
push 0xfffffffffffffff4
jmp 0x41bdfc
cmp dword [esi + 0x40], 0
jne case.0x41888e.151
cmp dword [esi + 0x50], 0
je case.0x41888e.23
cmp edi, dword [esi + 0x74]
jb case.0x41888e.151
jmp 0x419a5f
mov eax, dword [esi + 0x74]
cmp edi, eax
jae 0x419a5f
cmp dword [esi + 0x18], 0
lea ecx, [esi + 0x1c]
je 0x419ad6
push 0
push ecx
push eax
push dword [esi + 0x18]
push edi
call fcn.0041cc73
add esp, 0x14
test eax, eax
je case.0x41888e.151
lea ecx, [esi + 0x1c]
jmp 0x419afe
sub eax, dword [ecx]
cmp edi, eax
ja case.0x41888e.151
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne case.0x41888e.151
xor eax, eax
inc eax
cmp dword [ecx], eax
je 0x419afe
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
jne case.0x41888e.151
mov eax, dword [esi + 0x74]
sub eax, dword [ecx]
cmp edi, eax
jmp 0x419a59
cmp edi, dword [esi + 0x70]
jne 0x419b16
xor ecx, ecx
xor edx, edx
inc ecx
jmp 0x419b3a
cmp edi, dword [esi + 0x80]
ja 0x419b27
lea eax, [edi - 1]
mov dword [esi + 0x80], eax
movzx ecx, byte [edi - 1]
mov eax, dword [esi + 0x34]
movzx edx, byte [ecx + eax]
xor ecx, ecx
shr edx, 4
inc ecx
and edx, ecx
cmp edi, dword [esi + 0x74]
jb 0x419b60
mov eax, dword [esi + 0x84]
test eax, eax
je 0x419b5c
cmp edi, dword [esi + 0x80]
jbe 0x419b5c
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
xor ecx, ecx
jmp 0x419b72
mov eax, dword [esi + 0x34]
movzx ecx, byte [edi]
movzx ecx, byte [ecx + eax]
xor eax, eax
shr ecx, 4
inc eax
and ecx, eax
mov al, byte [ebx]
inc ebx
mov dword [ebp - 0xa0], ebx
cmp al, 5
jne 0x419b88
xor eax, eax
cmp ecx, edx
sete al
jmp 0x419b8f
xor eax, eax
cmp ecx, edx
setne al
test eax, eax
je 0x418865
jmp case.0x41888e.151
cmp dword [esi + 0x18], 0
je 0x419bdc
cmp edi, dword [esi + 0x74]
jae case.0x41888e.13
push 0
lea eax, [esi + 0x1c]
push eax
push dword [esi + 0x74]
push dword [esi + 0x18]
push edi
call fcn.0041cc73
add esp, 0x14
test eax, eax
jne case.0x41888e.151
xor ecx, ecx
inc ecx
cmp edi, dword [esi + 0x74]
jae 0x41b3bb
inc edi
mov dword [ebp - 0x8c], edi
jmp 0x419975
mov eax, dword [esi + 0x74]
sub eax, dword [esi + 0x1c]
cmp edi, eax
ja case.0x41888e.13
mov al, byte [edi]
xor ecx, ecx
inc ecx
cmp al, byte [esi + 0x2c]
jne 0x419bc7
cmp dword [esi + 0x1c], ecx
je case.0x41888e.151
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je case.0x41888e.151
jmp 0x419bc7
cmp edi, dword [esi + 0x74]
jb 0x419bd0
mov eax, dword [esi + 0x84]
test eax, eax
je case.0x41888e.151
cmp edi, dword [esi + 0x80]
jbe case.0x41888e.151
xor ecx, ecx
inc ecx
jmp 0x41b3d5
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 4
jmp 0x41996f
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 4
jmp 0x4199bd
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 1
jmp 0x41996f
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 1
jmp 0x4199bd
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 0x10
jmp 0x41996f
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 0x10
jmp 0x4199bd
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
je 0x419975
jbe case.0x41888e.151
cmp eax, 0xc
jbe 0x419d21
cmp eax, 0xd
je 0x419d2a
cmp eax, 0x85
je 0x419d21
cmp eax, 0x2027
jbe case.0x41888e.151
cmp eax, 0x2029
ja case.0x41888e.151
cmp dword [esi + 0x60], 0
jmp 0x41996f
cmp edi, dword [esi + 0x74]
jae 0x419975
cmp byte [edi], 0xa
jne 0x419975
jmp 0x419bd0
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
mov ecx, 0x180e
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, ecx
ja 0x419d8a
je case.0x41888e.151
cmp eax, 9
je case.0x41888e.151
cmp eax, 0x20
je case.0x41888e.151
cmp eax, 0xa0
je case.0x41888e.151
cmp eax, 0x1680
jmp 0x4199bd
cmp eax, 0x2000
jb 0x419975
cmp eax, 0x200a
jbe case.0x41888e.151
cmp eax, 0x202f
je case.0x41888e.151
cmp eax, 0x205f
je case.0x41888e.151
cmp eax, 0x3000
jmp 0x4199bd
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
mov ecx, 0x180e
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, ecx
ja 0x419e09
je 0x419975
cmp eax, 9
je 0x419975
cmp eax, 0x20
je 0x419975
cmp eax, 0xa0
je 0x419975
cmp eax, 0x1680
jmp 0x41996f
cmp eax, 0x2000
jb case.0x41888e.151
cmp eax, 0x200a
jbe 0x419975
cmp eax, 0x202f
je 0x419975
cmp eax, 0x205f
je 0x419975
cmp eax, 0x3000
jmp 0x41996f
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jb 0x419975
cmp eax, 0xd
jbe case.0x41888e.151
cmp eax, 0x85
je case.0x41888e.151
cmp eax, 0x2027
jbe 0x419975
cmp eax, 0x2029
jbe case.0x41888e.151
jmp 0x419975
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jb case.0x41888e.151
cmp eax, 0xd
jbe 0x419975
cmp eax, 0x85
je 0x419975
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x41888e.151
jmp 0x419975
movzx ecx, byte [ebx + 1]
xor eax, eax
cmp edx, 0x6e
sete al
shl ecx, 8
mov dword [ebp - 0x98], eax
movzx eax, byte [ebx + 2]
add ebx, 3
or ecx, eax
mov dword [ebp - 0xa0], ebx
add ecx, ecx
mov dword [ebp - 0x94], ecx
cmp ecx, dword [ebp - 0x88]
jge 0x419f13
mov edx, dword [esi + 0xc]
mov eax, dword [edx + ecx*4]
test eax, eax
js 0x419f13
mov edx, dword [edx + ecx*4 + 4]
sub edx, eax
jmp 0x419f1c
xor edx, edx
cmp dword [esi + 0x48], edx
setne dl
dec edx
mov al, byte [ebx]
mov dword [ebp - 0x84], edx
mov byte [ebp - 0xad], al
cmp al, 0x62
jb 0x41a031
cmp al, 0x67
jbe 0x419f7d
cmp al, 0x69
ja 0x41a031
movzx ecx, byte [ebx + 1]
xor eax, eax
cmp byte [ebp - 0xad], 0x69
sete al
shl ecx, 8
mov dword [ebp - 0xac], 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 - 0xbc]
add ebx, 5
jmp 0x419fa8
movzx eax, byte [ebp - 0xad]
inc ebx
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [ebp - 0xac], ecx
movsx ecx, byte [eax + 0x43f302]
movsx eax, byte [eax + 0x43f30a]
test eax, eax
cmove eax, dword [ebp - 0xbc]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa0], ebx
test edx, edx
je 0x418865
xor eax, eax
inc eax
mov dword [ebp - 0x90], eax
cmp ecx, eax
jl 0x41a010
push dword [ebp - 0x98]
push esi
push edx
push edi
push dword [ebp - 0x94]
call fcn.0041c0a8
add esp, 0x14
test eax, eax
js 0x41b3e5
mov ecx, dword [ebp - 0x9c]
add edi, eax
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], eax
cmp eax, ecx
jle 0x419fcc
mov eax, dword [ebp - 0x80]
cmp ecx, eax
je 0x418865
cmp dword [ebp - 0xac], 0
je 0x41b463
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41b43c
push dword [ebp - 0x98]
push esi
push edx
push edi
push ecx
call fcn.0041c0a8
add esp, 0x14
test eax, eax
js 0x41b3e5
add edi, eax
mov dword [ebp - 0x8c], edi
jmp 0x418865
lea eax, [ebx + 1]
mov dword [ebp - 0x94], eax
push 0x21
pop eax
add ebx, eax
mov dword [ebp - 0xa0], ebx
mov cl, byte [ebx]
mov al, cl
cmp al, 0x62
jb 0x41a10b
cmp al, 0x67
jbe 0x41a0cb
cmp al, 0x69
ja 0x41a10b
movzx edx, byte [ebx + 3]
xor eax, eax
cmp cl, 0x69
movzx ecx, byte [ebx + 1]
sete al
shl ecx, 8
mov dword [ebp - 0x80], eax
movzx eax, byte [ebx + 2]
or ecx, eax
shl edx, 8
movzx eax, byte [ebx + 4]
or edx, eax
mov dword [ebp - 0x9c], ecx
mov eax, 0x7fffffff
cmove edx, eax
add ebx, 5
mov dword [ebp - 0x84], edx
xor edx, edx
mov dword [ebp - 0xa0], ebx
inc edx
jmp 0x41a11c
movzx eax, cl
xor edx, edx
inc edx
inc ebx
mov dword [ebp - 0xa0], ebx
lea ecx, [eax - 0x62]
and ecx, edx
mov dword [ebp - 0x80], ecx
movsx ecx, byte [eax + 0x43f302]
movsx eax, byte [eax + 0x43f30a]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x41a11c
mov eax, 0x7fffffff
mov dword [ebp - 0x84], eax
jmp 0x41a11c
xor edx, edx
inc edx
mov dword [ebp - 0x84], edx
mov ecx, edx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], edx
cmp ecx, edx
jl 0x41a16c
cmp edi, dword [esi + 0x74]
jae 0x419c0c
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 - 0x94]
mov dword [ebp - 0x8c], edi
test byte [edx + ecx], al
je case.0x41888e.151
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x98], eax
cmp eax, ecx
jle 0x41a126
mov eax, dword [ebp - 0x84]
cmp ecx, eax
je 0x418865
cmp dword [ebp - 0x80], 0
je 0x41b58a
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41b563
mov eax, dword [esi + 0x74]
xor ecx, ecx
sub eax, edi
inc ecx
cmp eax, ecx
jl 0x41b3bb
mov al, byte [edi]
inc edi
cmp byte [ebx + 1], al
mov dword [ebp - 0x8c], edi
jne case.0x41888e.151
add ebx, 2
jmp 0x41910a
cmp edi, dword [esi + 0x74]
jae 0x419c0c
mov edx, dword [esi + 0x30]
movzx eax, byte [edi]
inc edi
movzx ecx, byte [ebx + 1]
mov al, byte [eax + edx]
cmp byte [ecx + edx], al
jmp 0x41a1a3
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov edx, ecx
jmp 0x41a27b
xor eax, eax
inc eax
mov dword [ebp - 0x9c], eax
movzx ecx, byte [ebx + 1]
xor edx, edx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x98], edx
mov al, byte [ebx]
mov dword [ebp - 0x84], ecx
cmp al, 0x28
je 0x41a21d
cmp al, 0x35
je 0x41a21d
and dword [ebp - 0x80], edx
jmp 0x41a223
xor eax, eax
inc eax
mov dword [ebp - 0x80], eax
add ebx, 3
jmp 0x41a287
xor eax, eax
inc eax
xor edx, edx
mov ecx, 0x7fffffff
mov dword [ebp - 0x9c], eax
inc ebx
jmp 0x41a27b
xor eax, eax
inc eax
mov edx, eax
jmp 0x41a22d
xor eax, eax
inc eax
xor edx, edx
mov ecx, eax
jmp 0x41a232
push 0x2e
pop eax
cmp edx, eax
push 0x21
pop ecx
cmovl eax, ecx
mov ecx, edx
sub ecx, eax
inc ebx
mov eax, ecx
and eax, 1
mov dword [ebp - 0x80], eax
mov eax, 0x7fffffff
movsx edx, byte [ecx + 0x43f364]
movsx ecx, byte [ecx + 0x43f36c]
test ecx, ecx
cmove ecx, eax
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x84], ecx
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x90], 0x2e
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xa0], ebx
jl 0x41a3be
mov ecx, dword [ebp - 0x94]
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
cmp edx, ecx
jl 0x41a2fb
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x8c], edi
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
jne case.0x41888e.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41a2c4
mov eax, dword [ebp - 0x84]
cmp edx, eax
je 0x418865
cmp dword [ebp - 0x80], 0
jne 0x41b63c
mov ecx, edi
mov dword [ebp - 0x80], ecx
cmp edx, eax
jge 0x41a368
cmp edi, dword [esi + 0x74]
jae 0x41a345
movzx ecx, byte [edi]
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
jne 0x41a365
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41a31c
jmp 0x41a365
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41a365
cmp edi, dword [esi + 0x80]
jbe 0x41a365
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x418865
cmp edi, ecx
jb case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb4], eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
dec edi
test eax, eax
jne 0x41bdfd
mov eax, dword [ebp - 0xb4]
cmp edi, dword [ebp - 0x80]
jae 0x41a387
jmp case.0x41888e.151
xor eax, eax
inc eax
mov dword [ebp - 0x90], eax
cmp edx, eax
jl 0x41a3fb
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp dword [ebp - 0x94], eax
jne case.0x41888e.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41a3cb
cmp edx, ecx
je 0x418865
cmp dword [ebp - 0x80], 0
jne 0x41b6a6
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x41a457
cmp edi, dword [esi + 0x74]
jae 0x41a434
movzx eax, byte [edi]
cmp dword [ebp - 0x94], eax
jne 0x41a454
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41a416
jmp 0x41a454
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41a454
cmp edi, dword [esi + 0x80]
jbe 0x41a454
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x418865
cmp edi, eax
jb case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb4], eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
dec edi
test eax, eax
jne 0x41bdfd
mov eax, dword [ebp - 0xb4]
cmp edi, dword [ebp - 0x80]
jae 0x41a476
jmp case.0x41888e.151
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x8c], edi
cmp edx, 0x20
jne 0x41a4ec
mov edx, dword [esi + 0x30]
movzx ecx, byte [ebx + 1]
add ebx, 2
mov al, byte [eax + edx]
cmp byte [ecx + edx], al
mov dword [ebp - 0xa0], ebx
jne 0x418865
jmp case.0x41888e.151
movzx eax, byte [ebx + 1]
add ebx, 2
cmp eax, dword [ebp - 0xb4]
jmp 0x41a4db
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov edx, ecx
add ebx, 3
jmp 0x41a5b4
movzx ecx, byte [ebx + 1]
xor edx, edx
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x98], edx
mov al, byte [ebx]
mov dword [ebp - 0x84], ecx
cmp al, 0x42
je 0x41a53c
cmp al, 0x4f
je 0x41a53c
and dword [ebp - 0x80], edx
jmp 0x41a542
xor eax, eax
inc eax
mov dword [ebp - 0x80], eax
add ebx, 3
jmp 0x41a5c0
xor eax, eax
inc eax
xor edx, edx
mov ecx, 0x7fffffff
mov dword [ebp - 0x9c], eax
inc ebx
jmp 0x41a5b4
xor eax, eax
inc eax
mov edx, eax
jmp 0x41a54c
xor eax, eax
inc eax
xor edx, edx
mov ecx, eax
jmp 0x41a551
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
shl ecx, 8
mov dword [ebp - 0x9c], eax
xor edx, edx
movzx eax, byte [ebx + 2]
or ecx, eax
jmp 0x41a50a
push 0x3b
pop eax
push 0x48
pop ecx
cmp edx, ecx
cmovge eax, ecx
mov ecx, edx
sub ecx, eax
inc ebx
mov eax, ecx
and eax, 1
mov dword [ebp - 0x80], eax
mov eax, 0x7fffffff
movsx edx, byte [ecx + 0x43f364]
movsx ecx, byte [ecx + 0x43f36c]
test ecx, ecx
cmove ecx, eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x98], edx
movzx eax, byte [ebx]
inc ebx
push 0x48
mov dword [ebp - 0x94], eax
pop eax
mov dword [ebp - 0xa0], ebx
cmp dword [ebp - 0x90], eax
jl 0x41a6f9
mov ecx, dword [ebp - 0x94]
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
cmp edx, ecx
jl 0x41a636
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x8c], edi
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
je case.0x41888e.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41a5ff
mov eax, dword [ebp - 0x84]
cmp edx, eax
je 0x418865
cmp dword [ebp - 0x80], 0
jne 0x41b709
mov ecx, edi
mov dword [ebp - 0x80], ecx
cmp edx, eax
jge 0x41a6a3
cmp edi, dword [esi + 0x74]
jae 0x41a680
movzx ecx, byte [edi]
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
je 0x41a6a0
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41a657
jmp 0x41a6a0
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41a6a0
cmp edi, dword [esi + 0x80]
jbe 0x41a6a0
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x418865
cmp edi, ecx
jb case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb4], eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov eax, dword [ebp - 0xb4]
dec edi
cmp edi, dword [ebp - 0x80]
jae 0x41a6c2
jmp case.0x41888e.151
xor eax, eax
inc eax
mov dword [ebp - 0x90], eax
cmp edx, eax
jl 0x41a736
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp dword [ebp - 0x94], eax
je case.0x41888e.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41a706
cmp edx, ecx
je 0x418865
cmp dword [ebp - 0x80], 0
jne 0x41b773
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x41a792
cmp edi, dword [esi + 0x74]
jae 0x41a76f
movzx eax, byte [edi]
cmp dword [ebp - 0x94], eax
je 0x41a78f
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41a751
jmp 0x41a78f
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41a78f
cmp edi, dword [esi + 0x80]
jbe 0x41a78f
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x418865
cmp edi, eax
jb case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb4], eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov eax, dword [ebp - 0xb4]
dec edi
cmp edi, dword [ebp - 0x80]
jae 0x41a7b1
jmp case.0x41888e.151
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x84], ecx
mov edx, ecx
xor ecx, ecx
inc ecx
add ebx, 3
mov dword [ebp - 0x80], ecx
jmp 0x41a8ae
movzx eax, byte [ebx + 1]
xor edx, edx
shl eax, 8
mov dword [ebp - 0x84], eax
movzx eax, byte [ebx + 2]
or dword [ebp - 0x84], eax
xor eax, eax
cmp cl, 0x5c
sete al
mov dword [ebp - 0x80], eax
add ebx, 3
jmp 0x41a8ab
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, 0x7fffffff
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x9c], ecx
inc ebx
jmp 0x41a8ae
xor ecx, ecx
inc ecx
mov edx, ecx
jmp 0x41a839
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp - 0x84], ecx
jmp 0x41a844
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
shl ecx, 8
mov dword [ebp - 0x9c], eax
xor edx, edx
movzx eax, byte [ebx + 2]
or ecx, eax
mov dword [ebp - 0x84], ecx
jmp 0x41a82f
lea eax, [edx - 0x55]
inc ebx
movsx edx, byte [eax + 0x43f364]
mov ecx, eax
movsx eax, byte [eax + 0x43f36c]
and ecx, 1
mov dword [ebp - 0x80], ecx
test eax, eax
mov ecx, 0x7fffffff
cmove eax, ecx
mov dword [ebp - 0x84], eax
xor ecx, ecx
inc ecx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], ebx
test edx, edx
jle 0x41ac5c
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x41b873.15
jmp dword [eax*4 + 0x41bfe8]
cmp edx, ecx
jl 0x41ac56
mov eax, dword [ebp - 0x90]
mov edx, ecx
mov dword [ebp - 0x94], edx
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x419c0c
cmp dword [esi + 0x18], 0
je 0x41a929
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041cc73
add esp, 0x14
test eax, eax
jne case.0x41888e.151
mov edx, dword [ebp - 0x94]
jmp 0x41a94f
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja 0x41a955
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x41a94f
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je case.0x41888e.151
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je case.0x41888e.151
mov eax, dword [ebp - 0x90]
inc edi
inc edx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x94], edx
cmp edx, eax
jle 0x41a8f5
jmp 0x41ac50
mov eax, dword [esi + 0x74]
sub eax, edx
cmp edi, eax
ja 0x41b3bb
add edi, edx
mov dword [ebp - 0x8c], edi
jmp 0x41ac56
xor eax, eax
inc eax
cmp edx, eax
jl 0x41ac56
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
je 0x41a9ce
jle case.0x41888e.151
cmp eax, 0xc
jle 0x41a9c4
cmp eax, 0xd
je 0x41a9d8
cmp eax, 0x85
jne case.0x41888e.151
cmp dword [esi + 0x60], 0
jne case.0x41888e.151
inc ecx
cmp ecx, edx
jle 0x41a991
jmp 0x41ac56
cmp edi, dword [esi + 0x74]
jae 0x41a9ce
cmp byte [edi], 0xa
jne 0x41a9ce
inc edi
mov dword [ebp - 0x8c], edi
jmp 0x41a9ce
xor eax, eax
inc eax
cmp edx, eax
jl 0x41ac56
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 9
je case.0x41888e.151
cmp eax, 0x20
je case.0x41888e.151
cmp eax, 0xa0
je case.0x41888e.151
inc ecx
cmp ecx, edx
jle 0x41a9f6
jmp 0x41ac56
xor eax, eax
inc eax
cmp edx, eax
jl 0x41ac56
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 9
je 0x41aa63
cmp eax, 0x20
je 0x41aa63
cmp eax, 0xa0
jne case.0x41888e.151
inc ecx
cmp ecx, edx
jle 0x41aa3b
jmp 0x41ac56
xor eax, eax
inc eax
cmp edx, eax
jl 0x41ac56
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jl 0x41aaa4
cmp eax, 0xd
jle case.0x41888e.151
cmp eax, 0x85
je case.0x41888e.151
inc ecx
cmp ecx, edx
jle 0x41aa78
jmp 0x41ac56
xor eax, eax
inc eax
cmp edx, eax
jl 0x41ac56
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jl case.0x41888e.151
cmp eax, 0xd
jle 0x41aae5
cmp eax, 0x85
jne case.0x41888e.151
inc ecx
cmp ecx, edx
jle 0x41aab9
jmp 0x41ac56
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41ac50
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
mov al, byte [ecx + eax]
and al, 4
jne case.0x41888e.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41aafd
jmp 0x41ac50
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41ac50
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
mov al, byte [ecx + eax]
and al, 4
je case.0x41888e.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41ab3a
jmp 0x41ac50
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41ac50
cmp edi, dword [esi + 0x74]
jae 0x41b3bb
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
mov al, byte [ecx + eax]
xor ecx, ecx
inc ecx
inc edi
mov dword [ebp - 0x8c], edi
and al, cl
jne case.0x41888e.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41ab77
jmp 0x41ac50
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41ac50
cmp edi, dword [esi + 0x74]
jae 0x41b3bb
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
mov al, byte [ecx + eax]
xor ecx, ecx
inc ecx
inc edi
mov dword [ebp - 0x8c], edi
and al, cl
je case.0x41888e.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41abb7
jmp 0x41ac50
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41ac50
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
mov al, byte [ecx + eax]
and al, 0x10
jne case.0x41888e.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41abf0
jmp 0x41ac50
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41ac50
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
mov al, byte [ecx + eax]
and al, 0x10
je case.0x41888e.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41ac26
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x84]
cmp edx, ecx
je 0x418865
cmp dword [ebp - 0x80], 0
jne 0x41b7dd
add eax, 0xfffffffa
mov dword [ebp - 0x94], edi
cmp eax, 0xf
ja case.0x41b873.15
jmp dword [eax*4 + 0x41c028]
cmp edx, ecx
jge 0x41ad37
mov eax, dword [ebp - 0x84]
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x41ad17
cmp dword [esi + 0x18], 0
je 0x41acc7
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041cc73
add esp, 0x14
test eax, eax
jne 0x41ad37
mov edx, dword [ebp - 0x90]
jmp 0x41ace5
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja 0x41aceb
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x41ace5
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je 0x41ad37
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je 0x41ad37
mov eax, dword [ebp - 0x84]
inc edi
inc edx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], edx
cmp edx, eax
jl 0x41ac9b
jmp 0x41ad37
mov eax, dword [esi + 0x74]
sub ecx, edx
sub eax, edi
cmp ecx, eax
jbe 0x41adb1
mov edi, dword [esi + 0x74]
mov dword [ebp - 0x8c], edi
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41ad37
cmp edi, dword [esi + 0x80]
jbe 0x41ad37
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
cmp dword [ebp - 0x9c], 0
jne 0x418865
cmp edi, dword [ebp - 0x94]
jb case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb4], eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov ecx, dword [ebp - 0x94]
dec edi
cmp dword [ebp - 0x98], 0x11
jne 0x41ada2
cmp edi, ecx
jbe 0x41ada4
cmp byte [edi], 0xa
jne 0x41ada2
lea eax, [edi - 1]
cmp byte [eax], 0xd
cmove edi, eax
cmp edi, ecx
mov eax, dword [ebp - 0xb4]
jae 0x41ad5a
jmp case.0x41888e.151
add edi, ecx
mov dword [ebp - 0x8c], edi
jmp 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx eax, byte [edi]
cmp eax, 0xd
jne 0x41ade6
inc edi
mov dword [ebp - 0x8c], edi
cmp edi, dword [esi + 0x74]
jae 0x41ad37
cmp byte [edi], 0xa
jne 0x41ae11
jmp 0x41ae0a
cmp eax, 0xa
je 0x41ae0a
cmp dword [esi + 0x60], 0
jne 0x41ad37
cmp eax, 0xb
je 0x41ae0a
cmp eax, 0xc
je 0x41ae0a
cmp eax, 0x85
jne 0x41ad37
inc edi
mov dword [ebp - 0x8c], edi
inc edx
cmp edx, ecx
jl 0x41adbe
jmp 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx eax, byte [edi]
cmp eax, 9
je 0x41ad37
cmp eax, 0x20
je 0x41ad37
cmp eax, 0xa0
je 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41ae1b
jmp 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx eax, byte [edi]
cmp eax, 9
je 0x41ae76
cmp eax, 0x20
je 0x41ae76
cmp eax, 0xa0
jne 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41ae55
jmp 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx eax, byte [edi]
cmp eax, 0xa
je 0x41ad37
cmp eax, 0xb
je 0x41ad37
cmp eax, 0xc
je 0x41ad37
cmp eax, 0xd
je 0x41ad37
cmp eax, 0x85
je 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41ae87
jmp 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx eax, byte [edi]
cmp eax, 0xa
je 0x41aefe
cmp eax, 0xb
je 0x41aefe
cmp eax, 0xc
je 0x41aefe
cmp eax, 0xd
je 0x41aefe
cmp eax, 0x85
jne 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41aed3
jmp 0x41ad37
cmp edx, ecx
jge 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
jne 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41af17
jmp 0x41ad37
cmp edx, ecx
jge 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
je 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41af4d
jmp 0x41ad37
cmp edx, ecx
jge 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
jne 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41af83
jmp 0x41ad37
cmp edx, ecx
jge 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
je 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41afb9
jmp 0x41ad37
cmp edx, ecx
jge 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
jne 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41afef
jmp 0x41ad37
cmp edx, ecx
jge 0x41ad37
cmp edi, dword [esi + 0x74]
jae 0x41ad17
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
je 0x41ad37
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41b025
jmp 0x41ad37
push dword [ebp - 0x94]
mov dword [esi + 0x94], 2
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
add ebx, 3
jmp 0x41b1e2
mov eax, dword [esi + 0x88]
mov edx, dword [ebp - 0x88]
cmp eax, edx
movzx ecx, byte [ebx + 4]
cmovg edx, eax
movzx eax, byte [ebx + 5]
mov dword [ebp - 0x88], edx
add ebx, 3
jmp 0x41b0a8
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41b0a0
jmp 0x418ed0
mov al, byte [ebx]
cmp al, 0x75
je 0x41b388
cmp al, 0x74
jne 0x41b122
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
lea eax, [ebx + 3]
push esi
push ecx
push dword [ebp - 0xa4]
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov ebx, dword [ebp - 0x80]
mov al, byte [ebx]
cmp al, 0x7b
je 0x41b353
cmp al, 0x82
jb 0x41b1e2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
jmp 0x418ef7
cmp byte [edx], 0x82
jb 0x41b131
mov dword [esi + 0x94], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push ecx
push dword [ebp - 0xa4]
push edx
push edi
call fcn.004187d4
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x80]
cmp ecx, 0xfffffc1c
jne 0x41b169
cmp dword [esi + 0xb0], eax
jne 0x41b2ed
xor ecx, ecx
test ecx, ecx
jne 0x41b2ed
cmp byte [eax], 0x7b
jne 0x41b074
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
jmp 0x41992f
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xac], ecx
lea eax, [ecx + ecx]
cmp eax, dword [esi + 0x14]
jl 0x41b997
cmp edx, 0x82
jge 0x41b1fe
cmp edx, 0x7b
je 0x41b1fe
cmp dword [esi + 0x64], 0
jne 0x41b208
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebx], 0x71
je 0x41b208
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x43f7b8]
add ebx, eax
mov eax, dword [esi]
mov dword [ebp - 0xa0], ebx
cmp eax, dword [esi + 4]
jae 0x41bdf8
mov ecx, dword [ebp - 0xa8]
jmp 0x41882f
mov dword [esi + 0x94], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc20
jne 0x41b268
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ebx
cmp dword [esi + 0x78], ecx
jae 0x41baab
cmp byte [ebx], 0x71
je 0x41b266
cmp byte [ecx], 0x71
jne 0x41baab
xor edx, edx
test edx, edx
jne 0x41bab2
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne case.0x41888e.151
mov edx, dword [ebp - 0x90]
jmp case.0x41888e.123
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b2dd
cmp eax, 0xfffffc1d
je 0x41b2dd
cmp eax, 0xfffffc20
jne 0x41bdfd
lea eax, [ebx + 2]
mov dword [esi + 0x78], eax
mov eax, 0xfffffc1f
jmp 0x41bdfd
mov eax, ecx
jmp 0x41bdfd
push 0xffffffffffffffe6
jmp 0x41bdfc
lea ecx, [ebp - 0x7c]
cmp dword [ebp - 0xc8], ecx
je 0x41bdfd
push dword [ebp - 0xc8]
call dword [0x450004]
mov eax, dword [ebp - 0x80]
pop ecx
jmp 0x41bdfd
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0xa0], eax
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0xc8], eax
je case.0x41888e.151
push dword [ebp - 0xc8]
call dword [0x450004]
pop ecx
jmp case.0x41888e.151
push 0xfffffffffffffffa
jmp 0x41bdfc
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov dword [esi + 0xb0], ebx
jmp 0x419953
mov dword [esi + 0x7c], edi
mov eax, 0xfffffc1b
mov dword [esi + 0x88], ecx
jmp 0x41bdfd
mov eax, dword [ebp - 0x88]
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 0xa4]
mov dword [esi + 0x78], eax
xor eax, eax
mov dword [esi + 0x7c], edi
inc eax
jmp 0x41bdfd
mov eax, dword [esi + 0x84]
test eax, eax
je case.0x41888e.151
cmp edi, dword [esi + 0x80]
jbe case.0x41888e.151
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jle case.0x41888e.151
jmp 0x419a87
mov eax, dword [esi + 0x84]
test eax, eax
je case.0x41888e.151
cmp edi, dword [esi + 0x74]
jb case.0x41888e.151
jmp 0x419c1a
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], eax
jge case.0x41888e.151
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x84]
push edi
push dword [ebp - 0x94]
call fcn.0041c0a8
add esp, 0x14
test eax, eax
js 0x41b3e5
add edi, eax
mov eax, dword [ebp + 0x20]
inc dword [ebp - 0x9c]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b401
jmp 0x41bdfd
mov dword [ebp - 0xac], edi
cmp ecx, eax
jge 0x41b4d5
push dword [ebp - 0x98]
push esi
push edx
push edi
push dword [ebp - 0x94]
call fcn.0041c0a8
add esp, 0x14
test eax, eax
js 0x41b4a4
mov edx, dword [ebp - 0x84]
add edi, eax
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x80]
jl 0x41b46d
jmp 0x41b4c9
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41b4c9
cmp edi, dword [esi + 0x74]
jb 0x41b4c9
cmp edi, dword [esi + 0x80]
jbe 0x41b4c9
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
cmp edi, dword [ebp - 0xac]
jb case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb4], eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
sub edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0xb4]
cmp edi, dword [ebp - 0xac]
jae 0x41b4df
jmp case.0x41888e.151
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x9c], eax
jge case.0x41888e.151
cmp edi, dword [esi + 0x74]
jae 0x419c0c
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 - 0x94]
test byte [edx + ecx], al
je case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc dword [ebp - 0x9c]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b51e
jmp 0x41bdfd
mov dword [ebp - 0xac], edi
cmp ecx, eax
jge 0x41b5f8
cmp edi, dword [esi + 0x74]
jae 0x41b5cc
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 - 0x94]
test byte [edx + ecx], al
je 0x41b5ec
mov eax, dword [ebp - 0x9c]
inc edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x84]
jl 0x41b594
jmp 0x41b5ec
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41b5ec
cmp edi, dword [esi + 0x80]
jbe 0x41b5ec
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x419a87
cmp edi, dword [ebp - 0xac]
jb case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb4], eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov eax, dword [ebp - 0xb4]
dec edi
cmp edi, dword [ebp - 0xac]
jae 0x41b602
jmp case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41b67f
mov edx, dword [ebp - 0x98]
cmp edx, dword [ebp - 0x84]
jge case.0x41888e.151
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
jne case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc edx
mov dword [ebp - 0x98], edx
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b642
jmp 0x41bdfd
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41b6e2
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x84]
jge case.0x41888e.151
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x94], eax
jne case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc ecx
mov dword [ebp - 0x98], ecx
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b6ac
jmp 0x41bdfd
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41b74c
mov edx, dword [ebp - 0x98]
cmp edx, dword [ebp - 0x84]
jge case.0x41888e.151
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
je case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc edx
mov dword [ebp - 0x98], edx
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b70f
jmp 0x41bdfd
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41b7af
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x84]
jge case.0x41888e.151
cmp edi, dword [esi + 0x74]
jae 0x419c0c
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x94], eax
je case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc ecx
mov dword [ebp - 0x98], ecx
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b779
jmp 0x41bdfd
push 0xfffffffffffffff2
jmp 0x41bdfc
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41b96c
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x84]
jge case.0x41888e.151
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x419c0c
mov eax, dword [ebp - 0x98]
cmp eax, 0xc
jne 0x41b863
cmp dword [esi + 0x18], 0
je 0x41b837
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041cc73
add esp, 0x14
test eax, eax
jne case.0x41888e.151
mov edx, dword [ebp - 0x90]
jmp 0x41b85d
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja 0x41b863
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x41b85d
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je case.0x41888e.151
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je case.0x41888e.151
mov eax, dword [ebp - 0x98]
movzx ecx, byte [edi]
add eax, 0xfffffffa
inc edi
cmp eax, 0xf
ja case.0x41b873.15
jmp dword [eax*4 + 0x41c068]
cmp ecx, 0xa
je case.0x41b873.12
jbe case.0x41888e.151
cmp ecx, 0xc
jbe 0x41b89f
cmp ecx, 0xd
je 0x41b8ae
cmp ecx, 0x85
jne case.0x41888e.151
cmp dword [esi + 0x60], 0
jne case.0x41888e.151
jmp case.0x41b873.12
cmp edi, dword [esi + 0x74]
jae case.0x41b873.12
cmp byte [edi], 0xa
jne case.0x41b873.12
inc edi
jmp case.0x41b873.12
cmp ecx, 9
je case.0x41888e.151
cmp ecx, 0x20
je case.0x41888e.151
cmp ecx, 0xa0
jmp 0x41b95b
cmp ecx, 9
je case.0x41b873.12
cmp ecx, 0x20
je case.0x41b873.12
cmp ecx, 0xa0
jmp 0x41b8a3
cmp ecx, 0xa
jb case.0x41b873.12
cmp ecx, 0xd
jbe case.0x41888e.151
cmp ecx, 0x85
jmp 0x41b95b
cmp ecx, 0xa
jb case.0x41888e.151
cmp ecx, 0xd
jbe case.0x41b873.12
cmp ecx, 0x85
jmp 0x41b8a3
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
jmp 0x41b8a3
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
jmp 0x41b95b
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
jmp 0x41b8a3
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
jmp 0x41b95b
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
jmp 0x41b8a3
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
je case.0x41888e.151
mov eax, dword [ebp + 0x20]
inc edx
mov dword [ebp - 0x90], edx
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
push dword [ebp - 0xa4]
push ebx
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41b7e6
jmp 0x41bdfd
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + eax*4]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0xac]
mov dword [ebp - 0x94], eax
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x80], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0xb4], eax
mov eax, edi
sub eax, dword [esi + 0x70]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0x90], 0x82
jl 0x41b9f0
mov dword [esi + 0x94], 2
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1c
je 0x41ba7b
cmp edx, 0xfffffc20
jne 0x41ba4c
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ebx
cmp dword [esi + 0x78], ecx
jae 0x41baab
cmp byte [ebx], 0x71
je 0x41ba4a
cmp byte [ecx], 0x71
jne 0x41baab
xor edx, edx
test edx, edx
jne 0x41baab
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x8c], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x41ba7b
mov eax, dword [ebp - 0xb8]
jmp 0x41b9da
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xbc]
lea ecx, [ebx + ebx]
mov dword [eax + ecx*4], edi
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0x94]
mov dword [eax + ecx*4 + 4], edi
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, ebx
mov esi, dword [ebp - 0x80]
mov dword [eax + ecx*4], esi
mov eax, edx
jmp 0x41bdfd
cmp edx, 0xfffffc1c
jne 0x41baab
mov al, byte [ebx]
cmp al, 0x7b
je 0x41bae7
cmp al, 0x71
jne 0x41bad8
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41bac4
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 + 0xb0], ebx
cmove edx, eax
jmp 0x41baab
and dword [esi + 0xa8], 0
lea eax, [ebx + 2]
mov dword [esi + 0xac], eax
movzx ecx, byte [ebx + 1]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.004187d4
mov ebx, eax
add esp, 0x1c
xor eax, eax
inc eax
cmp ebx, eax
je 0x41bb4f
cmp ebx, 0xfffffc19
jne 0x41bb6b
cmp dword [esi + 0xa8], 0
jne 0x41bb6b
mov eax, dword [ebp - 0xac]
mov dword [esi + 0xa8], eax
mov eax, ebx
jmp 0x41bdfd
cmp ebx, 0xfffffc1f
jne 0x41bb64
push dword [esi + 0x78]
mov eax, dword [ebp - 0xac]
push eax
call fcn.004251d0
pop ecx
pop ecx
test eax, eax
jne 0x41bb64
mov dword [esi + 0x78], edi
mov eax, 0xfffffc1e
jmp 0x41bdfd
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41bbe7
cmp eax, 0xfffffc1d
je 0x41bbe7
cmp eax, 0xfffffc1e
je 0x41bbe7
cmp eax, 0xfffffc1f
je 0x41bbe7
cmp eax, 0xfffffc20
jne 0x41bdfd
mov eax, 0xfffffc1a
jmp 0x41bdfd
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41bc2e
cmp eax, 0xfffffc20
jne 0x41bdfd
mov eax, 0xfffffc1d
jmp 0x41bdfd
and dword [esi + 0xa8], 0
lea eax, [ebx + 2]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.004187d4
add esp, 0x1c
cmp eax, 1
je 0x41bc88
cmp eax, 0xfffffc19
jne 0x41bc1f
cmp dword [esi + 0xa8], 0
jne 0x41bc1f
lea ecx, [ebx + 2]
mov dword [esi + 0xa8], ecx
jmp 0x41bc1f
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
je 0x41bb88
cmp eax, 0xfffffc1d
je 0x41bb88
cmp eax, 0xfffffc20
jne 0x41bdfd
jmp 0x41bb88
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.004187d4
add esp, 0x1c
test eax, eax
jne 0x41bdfd
mov dword [esi + 0x78], ebx
mov eax, 0xfffffc20
jmp 0x41bdfd
and dword [esi + 0xa8], 0
lea eax, [ebx + 2]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x20]
movzx ecx, byte [ebx + 1]
inc eax
push eax
push dword [ebp - 0xa8]
movzx eax, byte [ebx]
push esi
push dword [ebp - 0x88]
movzx eax, byte [eax + 0x43f7b8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.004187d4
add esp, 0x1c
cmp eax, 1
je 0x41bd80
cmp eax, 0xfffffc19
jne 0x41bd1b
cmp dword [esi + 0xa8], 0
jne 0x41bd1b
lea ecx, [ebx + 2]
mov dword [esi + 0xa8], ecx
jmp 0x41bd1b
mov ecx, dword [ebp - 0xa4]
cmp edi, ecx
jne 0x41bdcf
cmp edx, 0x99
je 0x41bdcf
xor eax, eax
cmp dword [esi + 0xa0], eax
jne 0x41bdcf
cmp dword [esi + 0x54], eax
jne case.0x41888e.151
cmp dword [esi + 0x58], eax
je 0x41bdcf
mov eax, dword [esi + 0x90]
add eax, dword [esi + 0x70]
cmp ecx, eax
je case.0x41888e.151
mov eax, dword [ebp - 0x88]
test edx, edx
mov dword [esi + 0x88], eax
mov eax, 0xfffffc19
push 1
mov dword [esi + 0x78], ecx
pop ecx
mov dword [esi + 0x7c], edi
cmove eax, ecx
jmp 0x41bdfd
push 0xfffffffffffffffb
jmp 0x41bdfc
push 0xffffffffffffffeb
jmp 0x41bdfc
inc dword [esi]
push 0xfffffffffffffff8
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041f9e6
mov esp, ebp
pop ebp
ret