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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [0x455440]
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 0x41eaf5
mov dword [ebp - 0xbc], 0x7fffffff
inc dword [esi]
mov eax, dword [ebp + 0x20]
cmp eax, dword [esi + 8]
jae 0x41eaf1
cmp dword [esi + 0x94], 2
jne 0x41b562
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.0x41b58b.15
movzx eax, byte [edx + 0x41ec49]
jmp dword [eax*4 + 0x41eb0d]
cmp dword [esi + 0x68], 0
je 0x41df90
movzx eax, byte [ebx + 1]
movzx ecx, byte [edx + 0x4427d8]
add ebx, eax
add ebx, ecx
jmp 0x41be07
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.0041b4d1
mov ecx, eax
add esp, 0x1c
xor eax, eax
inc eax
cmp ecx, eax
je 0x41b641
cmp ecx, 0xfffffc20
jne 0x41b61d
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 0x41dfea
cmp byte [ebx], 0x71
je 0x41b61b
cmp byte [edx], 0x71
jne 0x41dfea
xor ecx, ecx
test ecx, ecx
jne 0x41dfea
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x41b64c
mov eax, dword [ebp - 0xac]
jmp 0x41b5c3
mov edx, dword [esi + 0x78]
mov dword [ebp - 0xa4], edx
jmp 0x41b652
mov edx, dword [ebp - 0xa4]
mov al, byte [ebx]
cmp al, 0x7c
je 0x41b660
cmp al, 0x71
jne case.0x41b58b.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 0x41b660
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 0x41be04
cmp edi, dword [ebp - 0x80]
je 0x41be04
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 0x41dd50
lea eax, [ebx + 3]
push eax
push edi
call fcn.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov ebx, dword [ebp - 0x94]
jmp 0x41dedf
and dword [ebp - 0x80], 0
jmp 0x41c1c9
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 0x41b7df
mov eax, dword [0x4569bc]
mov dword [ebp - 0x94], eax
test eax, eax
je 0x41b7d0
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.0x41b58b.151
js 0x41eafa
movzx eax, byte [0x442848]
add ebx, eax
mov dword [ebp - 0xa0], ebx
lea edx, [ebx + 3]
movzx ecx, byte [edx]
cmp ecx, 0x89
je 0x41ba16
cmp ecx, 0x8a
je 0x41ba16
cmp ecx, 0x87
je 0x41b873
cmp ecx, 0x88
je 0x41b873
cmp ecx, 0x8b
jne 0x41b829
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
jmp 0x41bbbe
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.0041b4d1
add esp, 0x1c
cmp eax, 1
je 0x41dd79
test eax, eax
je 0x41b868
cmp eax, 0xfffffc20
jne 0x41eafa
add ebx, dword [ebp - 0xac]
jmp 0x41bbbe
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 0x41b897
mov eax, dword [esi + 0xc]
cmp dword [eax + edx*4], 0
jge 0x41b9f6
xor eax, eax
mov dword [ebp - 0x80], eax
cmp ecx, 0x88
jne 0x41ba01
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 0x41ba01
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 0x41b8e1
add ebx, dword [esi + 0x24]
inc edi
cmp edi, dword [esi + 0x20]
jl 0x41b8c8
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 0x41ba01
mov edx, eax
cmp eax, dword [esi + 0x28]
jbe 0x41b97e
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.00428730
pop ecx
pop ecx
test eax, eax
jne 0x41b972
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 0x41b960
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x41b9f6
xor eax, eax
mov dword [ebp - 0x80], eax
cmp edx, dword [esi + 0x28]
jbe 0x41b972
mov ecx, dword [ebp - 0x94]
jmp 0x41b91e
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [esi + 0x20]
jge 0x41ba01
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.00428730
pop ecx
pop ecx
test eax, eax
jne 0x41ba01
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 0x41b9d1
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x41b9f6
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 0x41ba01
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xac]
jmp 0x41b993
xor eax, eax
inc eax
push 3
mov dword [ebp - 0x80], eax
pop ecx
jmp 0x41ba0e
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov edx, dword [ebp - 0x80]
jmp 0x41bbb8
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x41b815
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 0x41bbb0
mov eax, dword [esi + 0xa0]
cmp edx, dword [eax + 4]
je 0x41bbb0
xor edx, edx
mov dword [ebp - 0x80], edx
cmp ecx, 0x8a
jne 0x41bb9c
mov edx, dword [esi + 0x28]
xor eax, eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x20]
jge 0x41bb99
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 0x41ba9e
add edx, dword [esi + 0x24]
inc edi
cmp edi, dword [esi + 0x20]
jl 0x41ba85
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 0x41bb99
mov ecx, edx
cmp edx, dword [esi + 0x28]
jbe 0x41bb2e
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.00428730
pop ecx
pop ecx
test eax, eax
jne 0x41bb22
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 0x41bbb5
mov edx, dword [ebp - 0x94]
cmp ecx, dword [esi + 0x28]
ja 0x41bad5
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x20]
jge 0x41bb99
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.00428730
pop ecx
pop ecx
test eax, eax
jne 0x41bb99
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 0x41bbab
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x20]
jl 0x41bb43
mov edx, dword [ebp - 0x80]
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
jmp 0x41bbb8
mov edx, dword [ebp - 0x80]
jmp 0x41bbb5
xor eax, eax
lea edx, [eax + 1]
push 3
pop ecx
add ebx, ecx
test edx, edx
jne 0x41bbc7
cmp byte [ebx], 0x71
jne 0x41be04
mov edx, dword [ebp - 0x88]
cmp dword [ebp - 0x90], 0x86
jne 0x41dd71
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.0041b4d1
add esp, 0x1c
jmp 0x41eafa
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 0x41bc38
xor eax, eax
inc eax
mov dword [esi + 0x38], eax
jmp 0x41be04
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 0x41be04
lea eax, [edx + 2]
mov dword [ebp - 0x88], eax
jmp 0x41be04
xor eax, eax
inc eax
cmp dword [esi + 0x94], eax
jne 0x41bc8c
and dword [esi + 0x94], 0
mov dword [ebp - 0x94], eax
jmp 0x41bc93
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.0041b4d1
xor ecx, ecx
add esp, 0x1c
inc ecx
cmp eax, ecx
je 0x41bcf3
cmp eax, 0xfffffc19
je 0x41bcf3
test eax, eax
je 0x41bcd7
cmp eax, 0xfffffc20
jne 0x41eafa
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x41bcfe
mov eax, dword [ebp - 0xac]
jmp 0x41bc9d
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xa4], eax
jmp 0x41bd01
xor ecx, ecx
inc ecx
cmp byte [ebx], 0x72
je case.0x41b58b.151
cmp dword [ebp - 0x94], 0
jne 0x41dfea
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41bd17
mov eax, dword [esi + 0x88]
add ebx, 3
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x88], eax
jmp 0x41b562
xor eax, eax
inc eax
cmp dword [esi + 0x94], eax
jne 0x41bd5f
and dword [esi + 0x94], 0
mov dword [ebp - 0x94], eax
jmp 0x41bd66
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.0041b4d1
xor edx, edx
add esp, 0x1c
inc edx
cmp eax, edx
je case.0x41b58b.151
cmp eax, 0xfffffc19
je case.0x41b58b.151
cmp eax, 0xfffffc1e
je 0x41bde3
cmp eax, 0xfffffc1d
je 0x41bde3
cmp eax, 0xfffffc1a
je 0x41bde3
test eax, eax
je 0x41bdc7
cmp eax, 0xfffffc20
jne 0x41eafa
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x41bdf7
mov eax, dword [ebp - 0xac]
jmp 0x41bd70
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41bde3
cmp dword [ebp - 0x94], 0
jne 0x41e7a8
add ebx, 3
mov dword [ebp - 0xa0], ebx
jmp 0x41b562
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.0x41b58b.151
cmp edi, dword [esi + 0x80]
jae 0x41be04
mov dword [esi + 0x80], edi
jmp 0x41be04
mov eax, dword [0x4569bc]
mov dword [ebp - 0x94], eax
test eax, eax
je 0x41bf13
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.0x41b58b.151
js 0x41eafa
add ebx, 6
jmp 0x41be07
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 0x41bf3a
xor edx, edx
jmp 0x41bf47
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 0x41bf61
cmp edx, dword [eax + 4]
jne 0x41bf5f
cmp edi, dword [eax + 0x10]
je 0x41dff1
mov eax, dword [eax]
test eax, eax
jne 0x41bf51
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 0x41bfa5
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0xc8], ecx
jmp 0x41bfc6
shl eax, 2
push eax
call dword [section..data]
pop ecx
mov ecx, eax
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x41e049
mov eax, dword [ebp - 0xc4]
shl eax, 2
push eax
push dword [esi + 0xc]
push ecx
call fcn.004278d0
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 0x41c000
mov dword [esi + 0x94], 2
movzx eax, byte [edx]
push ecx
push dword [ebp - 0xa8]
movzx eax, byte [eax + 0x4427d8]
push esi
push dword [ebp - 0x88]
add eax, edx
push dword [ebp - 0xa4]
push eax
push edi
call fcn.0041b4d1
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.004278d0
mov eax, dword [ebp - 0xd0]
add esp, 0x28
mov dword [esi + 0xa0], eax
mov eax, dword [ebp - 0x80]
cmp eax, 1
je 0x41c0b0
cmp eax, 0xfffffc19
je 0x41c0b0
test eax, eax
je 0x41c06f
cmp eax, 0xfffffc20
jne 0x41dff8
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 0x41e01c
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x9c]
jmp 0x41bff2
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0xc8], eax
je 0x41c0c8
push dword [ebp - 0xc8]
call dword [0x455004]
pop ecx
mov edi, dword [esi + 0x7c]
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0xa4], eax
jmp 0x41b562
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.0x41b58b.113
jmp 0x41be07
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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41c123
jmp 0x41be04
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 0x41c145
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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41b562
jmp 0x41eafa
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 0x41c18c
jmp 0x41be04
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 0x41c1c9
cmp edx, 0x85
jne 0x41c396
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 0x41c38c
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 0x41c261
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1b
jne 0x41c2d3
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 0x41c237
cmp ecx, 0xfffffc20
jne 0x41c303
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 0x41dfea
cmp byte [ebx], 0x71
je 0x41c301
cmp byte [edx], 0x71
jne 0x41dfea
xor ecx, ecx
test ecx, ecx
jne 0x41dfea
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 0x41c237
mov eax, dword [ebp - 0x94]
test eax, eax
jne 0x41c373
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 0x41be04
test eax, eax
jne 0x41be04
xor eax, eax
jmp 0x41eafa
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 0x41c3c4
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1b
jne 0x41c42d
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 0x41c3b2
cmp ecx, 0xfffffc20
jne 0x41c45d
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 0x41dfea
cmp byte [ebx], 0x71
je 0x41c45b
cmp byte [edx], 0x71
jne 0x41dfea
xor ecx, ecx
test ecx, ecx
jne 0x41dfea
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 0x41c3b2
cmp dword [ebp - 0x9c], 0
jne 0x41be04
cmp dword [ebp - 0x80], 0
jmp 0x41c37f
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 0x41c4c6
cmp al, 0x7b
je 0x41c4c6
and dword [ebp - 0x98], 0
jmp 0x41c4e3
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 0x41c4ef
cmp al, 0x7a
jbe 0x41e098
cmp al, 0x7c
je 0x41e098
cmp al, 0x7f
je 0x41c50b
cmp al, 0x84
je 0x41c50b
cmp al, 0x80
je 0x41c50b
cmp al, 0x85
jne 0x41c5ff
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 0x41c545
mov edx, dword [esi + 0xa0]
cmp dword [edx + 4], ecx
mov edx, dword [ebp - 0x80]
je 0x41e0a4
mov dword [esi + 0x8c], ecx
mov ecx, dword [ebp - 0x88]
cmp eax, dword [esi + 0x14]
jl 0x41c561
xor eax, eax
inc eax
mov dword [esi + 0x38], eax
jmp 0x41c605
cmp eax, ecx
jle 0x41c5c1
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 0x41c5c1
mov eax, dword [ebp - 0x94]
or dword [eax], 0xffffffff
lea eax, [eax + 4]
inc dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], ecx
jb 0x41c5ad
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 0x41c605
lea ecx, [eax + 2]
mov dword [ebp - 0x88], ecx
jmp 0x41c605
mov ecx, dword [ebp - 0x88]
cmp byte [ebx], 0x72
je 0x41c616
cmp edi, dword [ebp - 0x98]
jne 0x41ddb6
cmp byte [edx], 0x7b
jne 0x41be04
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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov eax, dword [ebp - 0x80]
mov dword [esi + 0xb0], eax
mov eax, 0xfffffc1c
jmp 0x41eafa
cmp dword [esi + 0x3c], 0
je case.0x41b58b.1
cmp edi, dword [esi + 0x70]
je case.0x41b58b.151
cmp edi, dword [esi + 0x70]
jne case.0x41b58b.151
inc ebx
jmp 0x41be07
cmp dword [esi + 0x3c], 0
je 0x41c687
cmp edi, dword [esi + 0x70]
je case.0x41b58b.151
mov ecx, dword [esi + 0x70]
cmp edi, ecx
je 0x41c672
cmp edi, dword [esi + 0x74]
je case.0x41b58b.151
cmp dword [esi + 0x18], 0
je 0x41c6c2
cmp edi, ecx
jbe case.0x41b58b.151
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041fa08
add esp, 0x14
test eax, eax
je case.0x41b58b.151
jmp 0x41c672
mov edx, dword [esi + 0x1c]
lea eax, [edx + ecx]
cmp edi, eax
jb case.0x41b58b.151
mov ecx, edi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esi + 0x2c]
jne case.0x41b58b.151
xor eax, eax
inc eax
cmp edx, eax
je 0x41c672
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x2d]
jmp 0x41c66c
mov eax, dword [esi + 0x90]
add eax, dword [esi + 0x70]
cmp edi, eax
jmp 0x41c66c
mov dword [ebp - 0xa4], edi
jmp 0x41c672
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x41c752
cmp dword [esi + 0x18], 0
je 0x41c72b
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041f970
jmp 0x41c6b5
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja case.0x41b58b.151
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne case.0x41b58b.151
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je 0x41c672
mov al, byte [edi + 1]
jmp 0x41c6e9
cmp dword [esi + 0x40], 0
jne case.0x41b58b.151
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41c672
cmp edi, dword [esi + 0x80]
jbe 0x41c672
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jle 0x41c672
push 0xfffffffffffffff4
jmp 0x41eaf9
cmp dword [esi + 0x40], 0
jne case.0x41b58b.151
cmp dword [esi + 0x50], 0
je case.0x41b58b.23
cmp edi, dword [esi + 0x74]
jb case.0x41b58b.151
jmp 0x41c75c
mov eax, dword [esi + 0x74]
cmp edi, eax
jae 0x41c75c
cmp dword [esi + 0x18], 0
lea ecx, [esi + 0x1c]
je 0x41c7d3
push 0
push ecx
push eax
push dword [esi + 0x18]
push edi
call fcn.0041f970
add esp, 0x14
test eax, eax
je case.0x41b58b.151
lea ecx, [esi + 0x1c]
jmp 0x41c7fb
sub eax, dword [ecx]
cmp edi, eax
ja case.0x41b58b.151
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne case.0x41b58b.151
xor eax, eax
inc eax
cmp dword [ecx], eax
je 0x41c7fb
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
jne case.0x41b58b.151
mov eax, dword [esi + 0x74]
sub eax, dword [ecx]
cmp edi, eax
jmp 0x41c756
cmp edi, dword [esi + 0x70]
jne 0x41c813
xor ecx, ecx
xor edx, edx
inc ecx
jmp 0x41c837
cmp edi, dword [esi + 0x80]
ja 0x41c824
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 0x41c85d
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41c859
cmp edi, dword [esi + 0x80]
jbe 0x41c859
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
xor ecx, ecx
jmp 0x41c86f
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 0x41c885
xor eax, eax
cmp ecx, edx
sete al
jmp 0x41c88c
xor eax, eax
cmp ecx, edx
setne al
test eax, eax
je 0x41b562
jmp case.0x41b58b.151
cmp dword [esi + 0x18], 0
je 0x41c8d9
cmp edi, dword [esi + 0x74]
jae case.0x41b58b.13
push 0
lea eax, [esi + 0x1c]
push eax
push dword [esi + 0x74]
push dword [esi + 0x18]
push edi
call fcn.0041f970
add esp, 0x14
test eax, eax
jne case.0x41b58b.151
xor ecx, ecx
inc ecx
cmp edi, dword [esi + 0x74]
jae 0x41e0b8
inc edi
mov dword [ebp - 0x8c], edi
jmp 0x41c672
mov eax, dword [esi + 0x74]
sub eax, dword [esi + 0x1c]
cmp edi, eax
ja case.0x41b58b.13
mov al, byte [edi]
xor ecx, ecx
inc ecx
cmp al, byte [esi + 0x2c]
jne 0x41c8c4
cmp dword [esi + 0x1c], ecx
je case.0x41b58b.151
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je case.0x41b58b.151
jmp 0x41c8c4
cmp edi, dword [esi + 0x74]
jb 0x41c8cd
mov eax, dword [esi + 0x84]
test eax, eax
je case.0x41b58b.151
cmp edi, dword [esi + 0x80]
jbe case.0x41b58b.151
xor ecx, ecx
inc ecx
jmp 0x41e0d2
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 4
jmp 0x41c66c
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 4
jmp 0x41c6ba
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 1
jmp 0x41c66c
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 1
jmp 0x41c6ba
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 0x10
jmp 0x41c66c
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x8c], edi
test byte [ecx + eax], 0x10
jmp 0x41c6ba
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
je 0x41c672
jbe case.0x41b58b.151
cmp eax, 0xc
jbe 0x41ca1e
cmp eax, 0xd
je 0x41ca27
cmp eax, 0x85
je 0x41ca1e
cmp eax, 0x2027
jbe case.0x41b58b.151
cmp eax, 0x2029
ja case.0x41b58b.151
cmp dword [esi + 0x60], 0
jmp 0x41c66c
cmp edi, dword [esi + 0x74]
jae 0x41c672
cmp byte [edi], 0xa
jne 0x41c672
jmp 0x41c8cd
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
mov ecx, 0x180e
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, ecx
ja 0x41ca87
je case.0x41b58b.151
cmp eax, 9
je case.0x41b58b.151
cmp eax, 0x20
je case.0x41b58b.151
cmp eax, 0xa0
je case.0x41b58b.151
cmp eax, 0x1680
jmp 0x41c6ba
cmp eax, 0x2000
jb 0x41c672
cmp eax, 0x200a
jbe case.0x41b58b.151
cmp eax, 0x202f
je case.0x41b58b.151
cmp eax, 0x205f
je case.0x41b58b.151
cmp eax, 0x3000
jmp 0x41c6ba
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
mov ecx, 0x180e
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, ecx
ja 0x41cb06
je 0x41c672
cmp eax, 9
je 0x41c672
cmp eax, 0x20
je 0x41c672
cmp eax, 0xa0
je 0x41c672
cmp eax, 0x1680
jmp 0x41c66c
cmp eax, 0x2000
jb case.0x41b58b.151
cmp eax, 0x200a
jbe 0x41c672
cmp eax, 0x202f
je 0x41c672
cmp eax, 0x205f
je 0x41c672
cmp eax, 0x3000
jmp 0x41c66c
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jb 0x41c672
cmp eax, 0xd
jbe case.0x41b58b.151
cmp eax, 0x85
je case.0x41b58b.151
cmp eax, 0x2027
jbe 0x41c672
cmp eax, 0x2029
jbe case.0x41b58b.151
jmp 0x41c672
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jb case.0x41b58b.151
cmp eax, 0xd
jbe 0x41c672
cmp eax, 0x85
je 0x41c672
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x41b58b.151
jmp 0x41c672
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 0x41cc10
mov edx, dword [esi + 0xc]
mov eax, dword [edx + ecx*4]
test eax, eax
js 0x41cc10
mov edx, dword [edx + ecx*4 + 4]
sub edx, eax
jmp 0x41cc19
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 0x41cd2e
cmp al, 0x67
jbe 0x41cc7a
cmp al, 0x69
ja 0x41cd2e
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 0x41cca5
movzx eax, byte [ebp - 0xad]
inc ebx
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [ebp - 0xac], ecx
movsx ecx, byte [eax + 0x442322]
movsx eax, byte [eax + 0x44232a]
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 0x41b562
xor eax, eax
inc eax
mov dword [ebp - 0x90], eax
cmp ecx, eax
jl 0x41cd0d
push dword [ebp - 0x98]
push esi
push edx
push edi
push dword [ebp - 0x94]
call fcn.0041eda5
add esp, 0x14
test eax, eax
js 0x41e0e2
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 0x41ccc9
mov eax, dword [ebp - 0x80]
cmp ecx, eax
je 0x41b562
cmp dword [ebp - 0xac], 0
je 0x41e160
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41e139
push dword [ebp - 0x98]
push esi
push edx
push edi
push ecx
call fcn.0041eda5
add esp, 0x14
test eax, eax
js 0x41e0e2
add edi, eax
mov dword [ebp - 0x8c], edi
jmp 0x41b562
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 0x41ce08
cmp al, 0x67
jbe 0x41cdc8
cmp al, 0x69
ja 0x41ce08
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 0x41ce19
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 + 0x442322]
movsx eax, byte [eax + 0x44232a]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x41ce19
mov eax, 0x7fffffff
mov dword [ebp - 0x84], eax
jmp 0x41ce19
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 0x41ce69
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.151
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x98], eax
cmp eax, ecx
jle 0x41ce23
mov eax, dword [ebp - 0x84]
cmp ecx, eax
je 0x41b562
cmp dword [ebp - 0x80], 0
je 0x41e287
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41e260
mov eax, dword [esi + 0x74]
xor ecx, ecx
sub eax, edi
inc ecx
cmp eax, ecx
jl 0x41e0b8
mov al, byte [edi]
inc edi
cmp byte [ebx + 1], al
mov dword [ebp - 0x8c], edi
jne case.0x41b58b.151
add ebx, 2
jmp 0x41be07
cmp edi, dword [esi + 0x74]
jae 0x41c909
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 0x41cea0
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, 3
mov edx, ecx
jmp 0x41cf78
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 0x41cf1a
cmp al, 0x35
je 0x41cf1a
and dword [ebp - 0x80], edx
jmp 0x41cf20
xor eax, eax
inc eax
mov dword [ebp - 0x80], eax
add ebx, 3
jmp 0x41cf84
xor eax, eax
inc eax
xor edx, edx
mov ecx, 0x7fffffff
mov dword [ebp - 0x9c], eax
inc ebx
jmp 0x41cf78
xor eax, eax
inc eax
mov edx, eax
jmp 0x41cf2a
xor eax, eax
inc eax
xor edx, edx
mov ecx, eax
jmp 0x41cf2f
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 + 0x442384]
movsx ecx, byte [ecx + 0x44238c]
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 0x41d0bb
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 0x41cff8
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41cfc1
mov eax, dword [ebp - 0x84]
cmp edx, eax
je 0x41b562
cmp dword [ebp - 0x80], 0
jne 0x41e339
mov ecx, edi
mov dword [ebp - 0x80], ecx
cmp edx, eax
jge 0x41d065
cmp edi, dword [esi + 0x74]
jae 0x41d042
movzx ecx, byte [edi]
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
jne 0x41d062
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41d019
jmp 0x41d062
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41d062
cmp edi, dword [esi + 0x80]
jbe 0x41d062
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x41b562
cmp edi, ecx
jb case.0x41b58b.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.0041b4d1
add esp, 0x1c
dec edi
test eax, eax
jne 0x41eafa
mov eax, dword [ebp - 0xb4]
cmp edi, dword [ebp - 0x80]
jae 0x41d084
jmp case.0x41b58b.151
xor eax, eax
inc eax
mov dword [ebp - 0x90], eax
cmp edx, eax
jl 0x41d0f8
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp dword [ebp - 0x94], eax
jne case.0x41b58b.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41d0c8
cmp edx, ecx
je 0x41b562
cmp dword [ebp - 0x80], 0
jne 0x41e3a3
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x41d154
cmp edi, dword [esi + 0x74]
jae 0x41d131
movzx eax, byte [edi]
cmp dword [ebp - 0x94], eax
jne 0x41d151
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41d113
jmp 0x41d151
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41d151
cmp edi, dword [esi + 0x80]
jbe 0x41d151
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x41b562
cmp edi, eax
jb case.0x41b58b.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.0041b4d1
add esp, 0x1c
dec edi
test eax, eax
jne 0x41eafa
mov eax, dword [ebp - 0xb4]
cmp edi, dword [ebp - 0x80]
jae 0x41d173
jmp case.0x41b58b.151
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x8c], edi
cmp edx, 0x20
jne 0x41d1e9
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 0x41b562
jmp case.0x41b58b.151
movzx eax, byte [ebx + 1]
add ebx, 2
cmp eax, dword [ebp - 0xb4]
jmp 0x41d1d8
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov edx, ecx
add ebx, 3
jmp 0x41d2b1
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 0x41d239
cmp al, 0x4f
je 0x41d239
and dword [ebp - 0x80], edx
jmp 0x41d23f
xor eax, eax
inc eax
mov dword [ebp - 0x80], eax
add ebx, 3
jmp 0x41d2bd
xor eax, eax
inc eax
xor edx, edx
mov ecx, 0x7fffffff
mov dword [ebp - 0x9c], eax
inc ebx
jmp 0x41d2b1
xor eax, eax
inc eax
mov edx, eax
jmp 0x41d249
xor eax, eax
inc eax
xor edx, edx
mov ecx, eax
jmp 0x41d24e
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 0x41d207
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 + 0x442384]
movsx ecx, byte [ecx + 0x44238c]
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 0x41d3f6
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 0x41d333
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41d2fc
mov eax, dword [ebp - 0x84]
cmp edx, eax
je 0x41b562
cmp dword [ebp - 0x80], 0
jne 0x41e406
mov ecx, edi
mov dword [ebp - 0x80], ecx
cmp edx, eax
jge 0x41d3a0
cmp edi, dword [esi + 0x74]
jae 0x41d37d
movzx ecx, byte [edi]
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
je 0x41d39d
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41d354
jmp 0x41d39d
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41d39d
cmp edi, dword [esi + 0x80]
jbe 0x41d39d
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
mov ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x41b562
cmp edi, ecx
jb case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov eax, dword [ebp - 0xb4]
dec edi
cmp edi, dword [ebp - 0x80]
jae 0x41d3bf
jmp case.0x41b58b.151
xor eax, eax
inc eax
mov dword [ebp - 0x90], eax
cmp edx, eax
jl 0x41d433
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp dword [ebp - 0x94], eax
je case.0x41b58b.151
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, edx
jle 0x41d403
cmp edx, ecx
je 0x41b562
cmp dword [ebp - 0x80], 0
jne 0x41e470
mov eax, edi
mov dword [ebp - 0x80], eax
cmp edx, ecx
jge 0x41d48f
cmp edi, dword [esi + 0x74]
jae 0x41d46c
movzx eax, byte [edi]
cmp dword [ebp - 0x94], eax
je 0x41d48c
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41d44e
jmp 0x41d48c
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41d48c
cmp edi, dword [esi + 0x80]
jbe 0x41d48c
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], 0
jne 0x41b562
cmp edi, eax
jb case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov eax, dword [ebp - 0xb4]
dec edi
cmp edi, dword [ebp - 0x80]
jae 0x41d4ae
jmp case.0x41b58b.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 0x41d5ab
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 0x41d5a8
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, 0x7fffffff
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x9c], ecx
inc ebx
jmp 0x41d5ab
xor ecx, ecx
inc ecx
mov edx, ecx
jmp 0x41d536
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp - 0x84], ecx
jmp 0x41d541
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 0x41d52c
lea eax, [edx - 0x55]
inc ebx
movsx edx, byte [eax + 0x442384]
mov ecx, eax
movsx eax, byte [eax + 0x44238c]
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 0x41d959
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x41e570.15
jmp dword [eax*4 + 0x41ece5]
cmp edx, ecx
jl 0x41d953
mov eax, dword [ebp - 0x90]
mov edx, ecx
mov dword [ebp - 0x94], edx
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x41c909
cmp dword [esi + 0x18], 0
je 0x41d626
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041f970
add esp, 0x14
test eax, eax
jne case.0x41b58b.151
mov edx, dword [ebp - 0x94]
jmp 0x41d64c
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja 0x41d652
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x41d64c
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je case.0x41b58b.151
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je case.0x41b58b.151
mov eax, dword [ebp - 0x90]
inc edi
inc edx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x94], edx
cmp edx, eax
jle 0x41d5f2
jmp 0x41d94d
mov eax, dword [esi + 0x74]
sub eax, edx
cmp edi, eax
ja 0x41e0b8
add edi, edx
mov dword [ebp - 0x8c], edi
jmp 0x41d953
xor eax, eax
inc eax
cmp edx, eax
jl 0x41d953
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
je 0x41d6cb
jle case.0x41b58b.151
cmp eax, 0xc
jle 0x41d6c1
cmp eax, 0xd
je 0x41d6d5
cmp eax, 0x85
jne case.0x41b58b.151
cmp dword [esi + 0x60], 0
jne case.0x41b58b.151
inc ecx
cmp ecx, edx
jle 0x41d68e
jmp 0x41d953
cmp edi, dword [esi + 0x74]
jae 0x41d6cb
cmp byte [edi], 0xa
jne 0x41d6cb
inc edi
mov dword [ebp - 0x8c], edi
jmp 0x41d6cb
xor eax, eax
inc eax
cmp edx, eax
jl 0x41d953
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 9
je case.0x41b58b.151
cmp eax, 0x20
je case.0x41b58b.151
cmp eax, 0xa0
je case.0x41b58b.151
inc ecx
cmp ecx, edx
jle 0x41d6f3
jmp 0x41d953
xor eax, eax
inc eax
cmp edx, eax
jl 0x41d953
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 9
je 0x41d760
cmp eax, 0x20
je 0x41d760
cmp eax, 0xa0
jne case.0x41b58b.151
inc ecx
cmp ecx, edx
jle 0x41d738
jmp 0x41d953
xor eax, eax
inc eax
cmp edx, eax
jl 0x41d953
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jl 0x41d7a1
cmp eax, 0xd
jle case.0x41b58b.151
cmp eax, 0x85
je case.0x41b58b.151
inc ecx
cmp ecx, edx
jle 0x41d775
jmp 0x41d953
xor eax, eax
inc eax
cmp edx, eax
jl 0x41d953
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 0xa
jl case.0x41b58b.151
cmp eax, 0xd
jle 0x41d7e2
cmp eax, 0x85
jne case.0x41b58b.151
inc ecx
cmp ecx, edx
jle 0x41d7b6
jmp 0x41d953
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41d94d
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41d7fa
jmp 0x41d94d
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41d94d
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41d837
jmp 0x41d94d
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41d94d
cmp edi, dword [esi + 0x74]
jae 0x41e0b8
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.0x41b58b.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41d874
jmp 0x41d94d
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41d94d
cmp edi, dword [esi + 0x74]
jae 0x41e0b8
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.0x41b58b.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41d8b4
jmp 0x41d94d
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41d94d
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41d8ed
jmp 0x41d94d
mov edx, ecx
cmp dword [ebp - 0x90], ecx
jl 0x41d94d
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.151
inc edx
cmp edx, dword [ebp - 0x90]
jle 0x41d923
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x84]
cmp edx, ecx
je 0x41b562
cmp dword [ebp - 0x80], 0
jne 0x41e4da
add eax, 0xfffffffa
mov dword [ebp - 0x94], edi
cmp eax, 0xf
ja case.0x41e570.15
jmp dword [eax*4 + 0x41ed25]
cmp edx, ecx
jge 0x41da34
mov eax, dword [ebp - 0x84]
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x41da14
cmp dword [esi + 0x18], 0
je 0x41d9c4
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041f970
add esp, 0x14
test eax, eax
jne 0x41da34
mov edx, dword [ebp - 0x90]
jmp 0x41d9e2
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja 0x41d9e8
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x41d9e2
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je 0x41da34
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je 0x41da34
mov eax, dword [ebp - 0x84]
inc edi
inc edx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], edx
cmp edx, eax
jl 0x41d998
jmp 0x41da34
mov eax, dword [esi + 0x74]
sub ecx, edx
sub eax, edi
cmp ecx, eax
jbe 0x41daae
mov edi, dword [esi + 0x74]
mov dword [ebp - 0x8c], edi
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41da34
cmp edi, dword [esi + 0x80]
jbe 0x41da34
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
cmp dword [ebp - 0x9c], 0
jne 0x41b562
cmp edi, dword [ebp - 0x94]
jb case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov ecx, dword [ebp - 0x94]
dec edi
cmp dword [ebp - 0x98], 0x11
jne 0x41da9f
cmp edi, ecx
jbe 0x41daa1
cmp byte [edi], 0xa
jne 0x41da9f
lea eax, [edi - 1]
cmp byte [eax], 0xd
cmove edi, eax
cmp edi, ecx
mov eax, dword [ebp - 0xb4]
jae 0x41da57
jmp case.0x41b58b.151
add edi, ecx
mov dword [ebp - 0x8c], edi
jmp 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx eax, byte [edi]
cmp eax, 0xd
jne 0x41dae3
inc edi
mov dword [ebp - 0x8c], edi
cmp edi, dword [esi + 0x74]
jae 0x41da34
cmp byte [edi], 0xa
jne 0x41db0e
jmp 0x41db07
cmp eax, 0xa
je 0x41db07
cmp dword [esi + 0x60], 0
jne 0x41da34
cmp eax, 0xb
je 0x41db07
cmp eax, 0xc
je 0x41db07
cmp eax, 0x85
jne 0x41da34
inc edi
mov dword [ebp - 0x8c], edi
inc edx
cmp edx, ecx
jl 0x41dabb
jmp 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx eax, byte [edi]
cmp eax, 9
je 0x41da34
cmp eax, 0x20
je 0x41da34
cmp eax, 0xa0
je 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41db18
jmp 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx eax, byte [edi]
cmp eax, 9
je 0x41db73
cmp eax, 0x20
je 0x41db73
cmp eax, 0xa0
jne 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41db52
jmp 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx eax, byte [edi]
cmp eax, 0xa
je 0x41da34
cmp eax, 0xb
je 0x41da34
cmp eax, 0xc
je 0x41da34
cmp eax, 0xd
je 0x41da34
cmp eax, 0x85
je 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41db84
jmp 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx eax, byte [edi]
cmp eax, 0xa
je 0x41dbfb
cmp eax, 0xb
je 0x41dbfb
cmp eax, 0xc
je 0x41dbfb
cmp eax, 0xd
je 0x41dbfb
cmp eax, 0x85
jne 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, ecx
jl 0x41dbd0
jmp 0x41da34
cmp edx, ecx
jge 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
jne 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41dc14
jmp 0x41da34
cmp edx, ecx
jge 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
je 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41dc4a
jmp 0x41da34
cmp edx, ecx
jge 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
jne 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41dc80
jmp 0x41da34
cmp edx, ecx
jge 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
je 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41dcb6
jmp 0x41da34
cmp edx, ecx
jge 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
jne 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41dcec
jmp 0x41da34
cmp edx, ecx
jge 0x41da34
cmp edi, dword [esi + 0x74]
jae 0x41da14
movzx ecx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
je 0x41da34
inc edi
inc edx
mov dword [ebp - 0x8c], edi
cmp edx, dword [ebp - 0x84]
jl 0x41dd22
jmp 0x41da34
push dword [ebp - 0x94]
mov dword [esi + 0x94], 2
push edi
call fcn.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
add ebx, 3
jmp 0x41dedf
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 0x41dda5
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41dd9d
jmp 0x41bbcd
mov al, byte [ebx]
cmp al, 0x75
je 0x41e085
cmp al, 0x74
jne 0x41de1f
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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov ebx, dword [ebp - 0x80]
mov al, byte [ebx]
cmp al, 0x7b
je 0x41e050
cmp al, 0x82
jb 0x41dedf
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 0x41bbf4
cmp byte [edx], 0x82
jb 0x41de2e
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.0041b4d1
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x80]
cmp ecx, 0xfffffc1c
jne 0x41de66
cmp dword [esi + 0xb0], eax
jne 0x41dfea
xor ecx, ecx
test ecx, ecx
jne 0x41dfea
cmp byte [eax], 0x7b
jne 0x41dd71
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xa8]
push esi
push dword [ebp - 0x88]
jmp 0x41c62c
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 0x41e694
cmp edx, 0x82
jge 0x41defb
cmp edx, 0x7b
je 0x41defb
cmp dword [esi + 0x64], 0
jne 0x41df05
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebx], 0x71
je 0x41df05
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x4427d8]
add ebx, eax
mov eax, dword [esi]
mov dword [ebp - 0xa0], ebx
cmp eax, dword [esi + 4]
jae 0x41eaf5
mov ecx, dword [ebp - 0xa8]
jmp 0x41b52c
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc20
jne 0x41df65
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 0x41e7a8
cmp byte [ebx], 0x71
je 0x41df63
cmp byte [ecx], 0x71
jne 0x41e7a8
xor edx, edx
test edx, edx
jne 0x41e7af
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.0x41b58b.151
mov edx, dword [ebp - 0x90]
jmp case.0x41b58b.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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41dfda
cmp eax, 0xfffffc1d
je 0x41dfda
cmp eax, 0xfffffc20
jne 0x41eafa
lea eax, [ebx + 2]
mov dword [esi + 0x78], eax
mov eax, 0xfffffc1f
jmp 0x41eafa
mov eax, ecx
jmp 0x41eafa
push 0xffffffffffffffe6
jmp 0x41eaf9
lea ecx, [ebp - 0x7c]
cmp dword [ebp - 0xc8], ecx
je 0x41eafa
push dword [ebp - 0xc8]
call dword [0x455004]
mov eax, dword [ebp - 0x80]
pop ecx
jmp 0x41eafa
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0xa0], eax
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0xc8], eax
je case.0x41b58b.151
push dword [ebp - 0xc8]
call dword [0x455004]
pop ecx
jmp case.0x41b58b.151
push 0xfffffffffffffffa
jmp 0x41eaf9
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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov dword [esi + 0xb0], ebx
jmp 0x41c650
mov dword [esi + 0x7c], edi
mov eax, 0xfffffc1b
mov dword [esi + 0x88], ecx
jmp 0x41eafa
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 0x41eafa
mov eax, dword [esi + 0x84]
test eax, eax
je case.0x41b58b.151
cmp edi, dword [esi + 0x80]
jbe case.0x41b58b.151
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jle case.0x41b58b.151
jmp 0x41c784
mov eax, dword [esi + 0x84]
test eax, eax
je case.0x41b58b.151
cmp edi, dword [esi + 0x74]
jb case.0x41b58b.151
jmp 0x41c917
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x9c], eax
jge case.0x41b58b.151
push dword [ebp - 0x98]
push esi
push dword [ebp - 0x84]
push edi
push dword [ebp - 0x94]
call fcn.0041eda5
add esp, 0x14
test eax, eax
js 0x41e0e2
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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e0fe
jmp 0x41eafa
mov dword [ebp - 0xac], edi
cmp ecx, eax
jge 0x41e1d2
push dword [ebp - 0x98]
push esi
push edx
push edi
push dword [ebp - 0x94]
call fcn.0041eda5
add esp, 0x14
test eax, eax
js 0x41e1a1
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 0x41e16a
jmp 0x41e1c6
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41e1c6
cmp edi, dword [esi + 0x74]
jb 0x41e1c6
cmp edi, dword [esi + 0x80]
jbe 0x41e1c6
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
cmp edi, dword [ebp - 0xac]
jb case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
sub edi, dword [ebp - 0x84]
mov eax, dword [ebp - 0xb4]
cmp edi, dword [ebp - 0xac]
jae 0x41e1dc
jmp case.0x41b58b.151
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x9c], eax
jge case.0x41b58b.151
cmp edi, dword [esi + 0x74]
jae 0x41c909
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.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e21b
jmp 0x41eafa
mov dword [ebp - 0xac], edi
cmp ecx, eax
jge 0x41e2f5
cmp edi, dword [esi + 0x74]
jae 0x41e2c9
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 0x41e2e9
mov eax, dword [ebp - 0x9c]
inc edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0x84]
jl 0x41e291
jmp 0x41e2e9
mov eax, dword [esi + 0x84]
test eax, eax
je 0x41e2e9
cmp edi, dword [esi + 0x80]
jbe 0x41e2e9
xor ecx, ecx
inc ecx
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jg 0x41c784
cmp edi, dword [ebp - 0xac]
jb case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov eax, dword [ebp - 0xb4]
dec edi
cmp edi, dword [ebp - 0xac]
jae 0x41e2ff
jmp case.0x41b58b.151
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41e37c
mov edx, dword [ebp - 0x98]
cmp edx, dword [ebp - 0x84]
jge case.0x41b58b.151
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
jne case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e33f
jmp 0x41eafa
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41e3df
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x84]
jge case.0x41b58b.151
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x94], eax
jne case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e3a9
jmp 0x41eafa
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41e449
mov edx, dword [ebp - 0x98]
cmp edx, dword [ebp - 0x84]
jge case.0x41b58b.151
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx ecx, byte [edi]
inc edi
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [ebp - 0x94], eax
je case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e40c
jmp 0x41eafa
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41e4ac
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x84]
jge case.0x41b58b.151
cmp edi, dword [esi + 0x74]
jae 0x41c909
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x94], eax
je case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e476
jmp 0x41eafa
push 0xfffffffffffffff2
jmp 0x41eaf9
mov eax, dword [ebp + 0x20]
inc eax
jmp 0x41e669
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x84]
jge case.0x41b58b.151
mov ecx, dword [esi + 0x74]
cmp edi, ecx
jae 0x41c909
mov eax, dword [ebp - 0x98]
cmp eax, 0xc
jne 0x41e560
cmp dword [esi + 0x18], 0
je 0x41e534
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push edi
call fcn.0041f970
add esp, 0x14
test eax, eax
jne case.0x41b58b.151
mov edx, dword [ebp - 0x90]
jmp 0x41e55a
sub ecx, dword [esi + 0x1c]
cmp edi, ecx
ja 0x41e560
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x41e55a
xor eax, eax
inc eax
cmp dword [esi + 0x1c], eax
je case.0x41b58b.151
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je case.0x41b58b.151
mov eax, dword [ebp - 0x98]
movzx ecx, byte [edi]
add eax, 0xfffffffa
inc edi
cmp eax, 0xf
ja case.0x41e570.15
jmp dword [eax*4 + 0x41ed65]
cmp ecx, 0xa
je case.0x41e570.12
jbe case.0x41b58b.151
cmp ecx, 0xc
jbe 0x41e59c
cmp ecx, 0xd
je 0x41e5ab
cmp ecx, 0x85
jne case.0x41b58b.151
cmp dword [esi + 0x60], 0
jne case.0x41b58b.151
jmp case.0x41e570.12
cmp edi, dword [esi + 0x74]
jae case.0x41e570.12
cmp byte [edi], 0xa
jne case.0x41e570.12
inc edi
jmp case.0x41e570.12
cmp ecx, 9
je case.0x41b58b.151
cmp ecx, 0x20
je case.0x41b58b.151
cmp ecx, 0xa0
jmp 0x41e658
cmp ecx, 9
je case.0x41e570.12
cmp ecx, 0x20
je case.0x41e570.12
cmp ecx, 0xa0
jmp 0x41e5a0
cmp ecx, 0xa
jb case.0x41e570.12
cmp ecx, 0xd
jbe case.0x41b58b.151
cmp ecx, 0x85
jmp 0x41e658
cmp ecx, 0xa
jb case.0x41b58b.151
cmp ecx, 0xd
jbe case.0x41e570.12
cmp ecx, 0x85
jmp 0x41e5a0
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
jmp 0x41e5a0
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 4
jmp 0x41e658
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
jmp 0x41e5a0
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 1
jmp 0x41e658
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
jmp 0x41e5a0
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
je case.0x41b58b.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.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e4e3
jmp 0x41eafa
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 0x41e6ed
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1c
je 0x41e778
cmp edx, 0xfffffc20
jne 0x41e749
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 0x41e7a8
cmp byte [ebx], 0x71
je 0x41e747
cmp byte [ecx], 0x71
jne 0x41e7a8
xor edx, edx
test edx, edx
jne 0x41e7a8
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 0x41e778
mov eax, dword [ebp - 0xb8]
jmp 0x41e6d7
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 0x41eafa
cmp edx, 0xfffffc1c
jne 0x41e7a8
mov al, byte [ebx]
cmp al, 0x7b
je 0x41e7e4
cmp al, 0x71
jne 0x41e7d5
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
je 0x41e7c1
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 0x41e7a8
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.0041b4d1
mov ebx, eax
add esp, 0x1c
xor eax, eax
inc eax
cmp ebx, eax
je 0x41e84c
cmp ebx, 0xfffffc19
jne 0x41e868
cmp dword [esi + 0xa8], 0
jne 0x41e868
mov eax, dword [ebp - 0xac]
mov dword [esi + 0xa8], eax
mov eax, ebx
jmp 0x41eafa
cmp ebx, 0xfffffc1f
jne 0x41e861
push dword [esi + 0x78]
mov eax, dword [ebp - 0xac]
push eax
call fcn.00428730
pop ecx
pop ecx
test eax, eax
jne 0x41e861
mov dword [esi + 0x78], edi
mov eax, 0xfffffc1e
jmp 0x41eafa
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e8e4
cmp eax, 0xfffffc1d
je 0x41e8e4
cmp eax, 0xfffffc1e
je 0x41e8e4
cmp eax, 0xfffffc1f
je 0x41e8e4
cmp eax, 0xfffffc20
jne 0x41eafa
mov eax, 0xfffffc1a
jmp 0x41eafa
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e92b
cmp eax, 0xfffffc20
jne 0x41eafa
mov eax, 0xfffffc1d
jmp 0x41eafa
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.0041b4d1
add esp, 0x1c
cmp eax, 1
je 0x41e985
cmp eax, 0xfffffc19
jne 0x41e91c
cmp dword [esi + 0xa8], 0
jne 0x41e91c
lea ecx, [ebx + 2]
mov dword [esi + 0xa8], ecx
jmp 0x41e91c
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
add esp, 0x1c
test eax, eax
je 0x41e885
cmp eax, 0xfffffc1d
je 0x41e885
cmp eax, 0xfffffc20
jne 0x41eafa
jmp 0x41e885
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
push eax
push edi
call fcn.0041b4d1
add esp, 0x1c
test eax, eax
jne 0x41eafa
mov dword [esi + 0x78], ebx
mov eax, 0xfffffc20
jmp 0x41eafa
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 + 0x4427d8]
push dword [ebp - 0xa4]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.0041b4d1
add esp, 0x1c
cmp eax, 1
je 0x41ea7d
cmp eax, 0xfffffc19
jne 0x41ea18
cmp dword [esi + 0xa8], 0
jne 0x41ea18
lea ecx, [ebx + 2]
mov dword [esi + 0xa8], ecx
jmp 0x41ea18
mov ecx, dword [ebp - 0xa4]
cmp edi, ecx
jne 0x41eacc
cmp edx, 0x99
je 0x41eacc
xor eax, eax
cmp dword [esi + 0xa0], eax
jne 0x41eacc
cmp dword [esi + 0x54], eax
jne case.0x41b58b.151
cmp dword [esi + 0x58], eax
je 0x41eacc
mov eax, dword [esi + 0x90]
add eax, dword [esi + 0x70]
cmp ecx, eax
je case.0x41b58b.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 0x41eafa
push 0xfffffffffffffffb
jmp 0x41eaf9
push 0xffffffffffffffeb
jmp 0x41eaf9
inc dword [esi]
push 0xfffffffffffffff8
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00422df2
mov esp, ebp
pop ebp
ret