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

Disassembly:
sub esp, 0xf8
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x11c]
mov ecx, dword [edi]
mov eax, dword [edi + 0x38]
mov dword [esp + 0x38], eax
cmp ecx, dword [edi + 4]
jae 0x43f547
mov ebp, dword [esp + 0x110]
mov esi, dword [esp + 0x10c]
mov edx, dword [esp + 0x12c]
inc dword [edi]
cmp edx, dword [edi + 8]
jae 0x43f559
test byte [esp + 0x128], 2
mov eax, dword [esp + 0x120]
mov dword [esp + 0x3c], eax
je 0x43b4c0
mov ecx, dword [esp + 0x124]
lea edx, [esp + 0x58]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x124], edx
movzx edx, byte [ebp]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
cmp dword [edi + 0x48], eax
je 0x43b4f0
cmp esi, dword [edi + 0x5c]
jb 0x43b4f0
mov ebx, dword [esp + 0x114]
cmp esi, ebx
jbe 0x43b4f7
mov dword [edi + 0x4c], 1
jmp 0x43b4f7
mov ebx, dword [esp + 0x114]
cmp edx, 0x6f
ja case.0x43b507.15
movzx ecx, byte [edx + 0x440bb6]
jmp dword [ecx*4 + 0x440a9a]
mov cl, byte [ebp + 3]
lea eax, [ebp + 3]
cmp cl, 0x65
jne 0x43b543
movzx eax, byte [ebp + 4]
movzx edx, byte [ebp + 5]
mov ecx, dword [edi + 0x7c]
shl eax, 8
or eax, edx
test ecx, ecx
je 0x43b569
cmp eax, 0xffff
je 0x43b539
cmp eax, dword [ecx + 4]
jne 0x43b569
mov ecx, 1
lea eax, [ecx + 2]
jmp 0x43b578
cmp cl, 0x64
jne 0x43b594
movzx eax, byte [ebp + 4]
movzx ecx, byte [ebp + 5]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x118]
jge 0x43b569
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b539
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
xor ecx, ecx
or eax, edx
add ebp, eax
test ecx, ecx
jne 0x43f2b7
cmp byte [ebp], 0x54
je 0x43f2b7
add ebp, 3
jmp 0x43b4c0
cmp cl, 0x66
jne 0x43b5aa
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
jmp 0x43b582
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x120]
inc edx
push edx
mov edx, dword [esp + 0x11c]
push 1
push 0
push ecx
push edi
push edx
push ebx
push eax
push esi
call fcn.0043b44e
add esp, 0x24
cmp eax, 1
je 0x43f28a
test eax, eax
je 0x43b5eb
cmp eax, 0xfffffc1c
jne 0x440a8c
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
jmp 0x43b582
mov ebp, dword [edi + 0x7c]
cmp ebp, eax
je 0x43f81c
cmp dword [ebp + 4], eax
jne 0x43f81c
mov edx, dword [ebp]
mov dword [edi + 0x7c], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [edi + 0xc]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.00415e60
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x48]
mov ebp, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x114], eax
mov dword [esp + 0x120], ecx
jmp 0x43b4c0
movzx edx, byte [ebp + 1]
mov dword [esp + 0x120], edx
add ebp, 2
jmp 0x43b4c0
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x1c], eax
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
push ecx
push 0
push 0
push edx
push edi
push eax
push ebx
lea ecx, [ebp + 3]
push ecx
push esi
call fcn.0043b44e
add esp, 0x24
cmp eax, 1
je 0x43b6bf
test eax, eax
je 0x43b6aa
cmp eax, 0xfffffc1c
jne 0x440a8c
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43b66e
cmp byte [ebp], 0x55
je case.0x44093e.14
test byte [esp + 0x128], 1
jne 0x43f835
lea esp, [esp]
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43b6de
mov eax, dword [edi + 0x68]
add ebp, 3
mov dword [esp + 0x118], eax
jmp 0x43b4c0
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
push edx
push 0
push 0
push eax
push edi
push ecx
push ebx
lea edx, [ebp + 3]
push edx
push esi
call fcn.0043b44e
add esp, 0x24
cmp eax, 1
je case.0x44093e.14
test eax, eax
je 0x43b751
cmp eax, 0xfffffc1c
jne 0x440a8c
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x43b711
test byte [esp + 0x128], 1
jne 0x43f835
add ebp, 3
jmp 0x43b4c0
cmp dword [esp + 0x38], eax
movzx eax, byte [ebp + 1]
je 0x43b7c6
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
jle 0x43b7da
mov ecx, dword [edi + 0x58]
dec esi
dec eax
cmp esi, ecx
jb case.0x44093e.14
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43b7ba
lea ebx, [ebx]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43b7ae
test eax, eax
jg 0x43b794
add ebp, 3
jmp 0x43b4c0
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x58]
jb case.0x44093e.14
add ebp, 3
jmp 0x43b4c0
mov ecx, dword [0x49f30c]
cmp ecx, eax
je 0x43b88c
movzx edx, byte [ebp + 1]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x58]
mov dword [esp + 0x64], edx
mov edx, dword [edi + 0x5c]
sub edx, eax
sub ebx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + 2]
shl eax, 8
mov dword [esp + 0x78], edx
movzx edx, byte [ebp + 3]
or eax, edx
movzx edx, byte [ebp + 5]
mov dword [esp + 0x88], eax
movzx eax, byte [ebp + 4]
shl eax, 8
or eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x118]
cdq
sub eax, edx
mov edx, dword [edi + 0x80]
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], 1
mov dword [esp + 0x78], ebx
mov dword [esp + 0x88], edx
call ecx
add esp, 4
test eax, eax
jg case.0x44093e.14
jl 0x440a8c
add ebp, 6
jmp 0x43b4c0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x28], esi
mov edi, edi
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc eax
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
push edx
push edi
push eax
push ebx
lea ecx, [ebp + 3]
push ecx
push esi
call fcn.0043b44e
add esp, 0x24
cmp eax, 1
je 0x43b8f9
test eax, eax
je 0x43b8e4
cmp eax, 0xfffffc1c
jne 0x440a8c
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43b89e
mov al, byte [ebp]
cmp al, 0x5d
je 0x43b90e
cmp al, 0x54
jne case.0x44093e.14
lea ebx, [ebx]
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43b90e
cmp byte [ebp], 0x55
mov eax, dword [edi + 0x68]
mov esi, dword [edi + 0x64]
mov dword [esp + 0x118], eax
je 0x43b940
cmp esi, dword [esp + 0x28]
jne 0x43f3e3
add ebp, 3
jmp 0x43b4c0
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je case.0x43b507.84
jmp 0x43b4c0
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
inc edx
push edx
mov edx, dword [esp + 0x11c]
push 0
push eax
push ecx
push edi
push edx
push ebx
inc ebp
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x43b9a0
add ebp, 3
jmp 0x43b4c0
inc ebp
mov eax, ebp
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x54
je 0x43b9c0
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
inc edx
push edx
mov edx, dword [esp + 0x124]
push 0
push ecx
mov ecx, dword [esp + 0x124]
push edx
push edi
push ecx
push ebx
add eax, 3
push eax
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
jmp 0x43b4c0
inc ebp
jmp 0x43ba1e
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43ba1e
add ebp, 3
jmp 0x43b4c0
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
mov edx, ebp
sub edx, ecx
mov al, byte [edx]
mov dword [esp + 0x34], edx
cmp al, 0x61
jb 0x43ba76
mov ecx, dword [esp + 0x124]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x124]
mov ecx, dword [ecx]
mov dword [esp + 0x124], ecx
jmp 0x43ba7e
mov dword [esp + 0x28], 0
cmp al, 0x58
je 0x43fa38
cmp al, 0x59
je 0x43fa38
cmp al, 0x5a
je 0x43fa38
cmp al, 0x5b
je 0x43fa38
cmp al, 0x5d
je 0x43fa38
cmp al, 0x5f
je 0x43bab2
cmp al, 0x62
jne 0x43bb54
movzx eax, byte [edx + 3]
movzx ecx, byte [edx + 4]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
cmp ecx, dword [edi + 0x14]
mov dword [esp + 0x24], eax
mov dword [edi + 0x6c], eax
jl 0x43bad7
mov dword [edi + 0x2c], 1
jmp 0x43bb0c
mov edx, dword [edi + 0x10]
sub edx, eax
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [eax + ecx*4], edx
mov edx, dword [edi + 0xc]
mov eax, esi
sub eax, dword [edi + 0x58]
cmp dword [esp + 0x118], ecx
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
jg 0x43bb0c
add ecx, 2
mov dword [esp + 0x118], ecx
mov ecx, dword [edi + 0x7c]
test ecx, ecx
je 0x43bb54
cmp dword [ecx + 4], eax
jne 0x43bb54
mov ebx, ecx
mov eax, dword [ebx]
mov dword [edi + 0x7c], eax
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
add edx, edx
add edx, edx
push edx
mov dword [esp + 0x118], ecx
mov ecx, dword [edi + 0xc]
push eax
push ecx
call fcn.00412960
mov edx, dword [esp + 0x48]
mov ebp, dword [ebx + 8]
add esp, 0xc
mov dword [esp + 0x120], edx
jmp 0x43b4c0
cmp byte [ebp], 0x55
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x120], eax
je 0x43bb6f
cmp esi, dword [esp + 0x28]
jne 0x43f487
add ebp, 3
jmp 0x43b4c0
cmp dword [edi + 0x30], eax
je 0x43bb85
cmp esi, dword [edi + 0x58]
je case.0x44093e.14
test byte [esp + 0x120], 2
je case.0x43b507.1
mov eax, dword [edi + 0x58]
cmp esi, eax
je 0x43bbfd
cmp esi, dword [edi + 0x5c]
je case.0x44093e.14
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43bbd0
cmp esi, eax
jbe case.0x44093e.14
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ce8
add esp, 0x14
test eax, eax
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
mov ecx, dword [edi + 0x1c]
add eax, ecx
cmp esi, eax
jb case.0x44093e.14
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x20]
jne case.0x44093e.14
cmp ecx, 1
je 0x43bbfd
mov al, byte [eax + 1]
cmp al, byte [edi + 0x21]
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x58]
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
mov ecx, dword [edi + 0x70]
add ecx, dword [edi + 0x58]
cmp esi, ecx
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
mov dword [esp + 0x114], esi
inc ebp
jmp 0x43b4c0
test byte [esp + 0x120], 2
je 0x43bcac
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43bc9c
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43bc6d
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x44093e.14
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44093e.14
cmp ecx, 1
je 0x43bca6
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp dword [edi + 0x34], 0
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp dword [edi + 0x34], eax
jne case.0x44093e.14
cmp dword [edi + 0x40], eax
jne case.0x43b507.24
mov eax, dword [edi + 0x5c]
cmp esi, eax
je 0x43bd27
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43bcee
cmp esi, eax
jae case.0x44093e.14
mov edx, dword [esp + 0x38]
push edx
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
je case.0x44093e.14
jmp 0x43bd1a
mov ecx, dword [edi + 0x1c]
lea ebx, [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x44093e.14
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x44093e.14
cmp ecx, 1
je 0x43bd1a
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
jne case.0x44093e.14
mov edx, dword [edi + 0x5c]
sub edx, dword [ebx]
cmp esi, edx
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jb case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp dword [esp + 0x38], eax
je 0x43be70
cmp esi, dword [edi + 0x58]
je 0x43bded
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
mov dword [esp + 0x14], eax
cmp cl, 0x80
jne 0x43bd71
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x43bd61
mov dword [esp + 0x14], eax
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x43bdd5
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebx
jl 0x43bdd5
lea ecx, [ecx]
mov edx, dword [esp + 0x14]
movzx ebx, byte [ebx + edx]
mov edx, dword [esp + 0x20]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x24]
inc ebx
cmp ebx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebx
jle 0x43bdae
cmp edx, 0x100
jae 0x43bded
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x43bded
mov ecx, 1
jmp 0x43bdef
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp esi, dword [edi + 0x5c]
jb 0x43bdff
xor eax, eax
jmp 0x43bea1
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43be5d
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43be59
jmp 0x43be3e
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43be3e
mov ecx, dword [esp + 0x24]
cmp edx, 0x100
jae 0x43bdf8
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x43bdf8
jmp 0x43be9c
cmp esi, dword [edi + 0x58]
je 0x43be89
movzx ecx, byte [esi - 1]
mov edx, dword [edi + 0x28]
test byte [ecx + edx], 0x10
je 0x43be89
mov ecx, 1
jmp 0x43be8b
xor ecx, ecx
cmp esi, dword [edi + 0x5c]
jae 0x43bea1
movzx edx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [edx + ebx], 0x10
je 0x43bea1
mov eax, 1
mov dl, byte [ebp]
inc ebp
cmp dl, 5
jne 0x43bebf
cmp eax, ecx
jne 0x43b4c0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, ecx
je 0x43b4c0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ecx, dword [edi + 0x18]
cmp ecx, eax
je 0x43bf00
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae case.0x43b507.13
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne case.0x44093e.14
jmp case.0x43b507.13
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x5c]
sub ecx, eax
cmp esi, ecx
ja case.0x43b507.13
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne case.0x43b507.13
cmp eax, 1
je case.0x44093e.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44093e.14
mov eax, dword [edi + 0x5c]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x44093e.14
cmp dword [esp + 0x38], 0
je 0x43bf51
cmp esi, eax
jae 0x43bf51
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43bf51
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43bf41
inc ebp
jmp 0x43b4c0
mov eax, esi
inc esi
cmp eax, dword [edi + 0x5c]
jae case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43bfc9
cmp edx, 0xc0
jb 0x43bfc9
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x43bfc9
lea ecx, [ecx]
movzx ebx, byte [esi]
mov edx, dword [esp + 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jg 0x43bfae
cmp edx, 0x100
jae 0x43bfde
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c049
cmp edx, 0xc0
jb 0x43c049
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x43c049
jmp 0x43c02e
movzx ebx, byte [esi]
mov edx, dword [esp + 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jg 0x43c02e
cmp edx, 0x100
jae case.0x44093e.14
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c0c9
cmp edx, 0xc0
jb 0x43c0c9
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x43c0c9
lea esp, [esp]
movzx ebx, byte [esi]
mov edx, dword [esp + 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jg 0x43c0ae
cmp edx, 0x100
jae 0x43c0de
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c149
cmp edx, 0xc0
jb 0x43c149
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x43c149
jmp 0x43c12e
movzx ebx, byte [esi]
mov edx, dword [esp + 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jg 0x43c12e
cmp edx, 0x100
jae case.0x44093e.14
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c1c9
cmp edx, 0xc0
jb 0x43c1c9
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x43c1c9
lea esp, [esp]
movzx ebx, byte [esi]
mov edx, dword [esp + 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jg 0x43c1ae
cmp edx, 0x100
jae 0x43c1de
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c249
cmp edx, 0xc0
jb 0x43c249
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x43c249
jmp 0x43c22e
movzx ebx, byte [esi]
mov edx, dword [esp + 0x20]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x20], edx
test eax, eax
jg 0x43c22e
cmp edx, 0x100
jae case.0x44093e.14
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c2c9
cmp eax, 0xc0
jb 0x43c2c9
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c2c9
jmp 0x43c2b2
mov ecx, dword [esp + 0x14]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x14], ecx
or eax, ebx
test edx, edx
jg 0x43c2ae
cmp eax, 0xd
ja 0x43c2f7
je 0x43c2e6
cmp eax, 0xa
je 0x43c31e
jbe case.0x44093e.14
cmp eax, 0xc
ja case.0x44093e.14
jmp 0x43c314
cmp esi, dword [edi + 0x5c]
jae 0x43c31e
cmp byte [esi], 0xa
jne 0x43c31e
inc esi
inc ebp
jmp 0x43b4c0
cmp eax, 0x85
je 0x43c314
cmp eax, 0x2027
jbe case.0x44093e.14
cmp eax, 0x2029
ja case.0x44093e.14
cmp dword [edi + 0x50], 0
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c37e
cmp eax, 0xc0
jb 0x43c37e
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c37e
jmp 0x43c367
mov ecx, dword [esp + 0x14]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x14], ecx
or eax, ebx
test edx, edx
jg 0x43c363
cmp eax, 0x180e
ja 0x43c3c1
je case.0x44093e.14
cmp eax, 0xa0
ja 0x43c3b0
je case.0x44093e.14
cmp eax, 9
je case.0x44093e.14
cmp eax, 0x20
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x1680
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x205f
ja 0x43c3f1
je case.0x44093e.14
cmp eax, 0x2000
jb 0x43c3fc
cmp eax, 0x200a
jbe case.0x44093e.14
cmp eax, 0x202f
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x3000
je case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c45c
cmp eax, 0xc0
jb 0x43c45c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c45c
jmp 0x43c445
mov ecx, dword [esp + 0x14]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x14], ecx
or eax, ebx
test edx, edx
jg 0x43c441
cmp eax, 0x180e
ja 0x43c493
je 0x43c4ca
cmp eax, 0xa0
ja 0x43c482
je 0x43c4ca
cmp eax, 9
je 0x43c4ca
cmp eax, 0x20
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x1680
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x205f
ja 0x43c4bf
je 0x43c4ca
cmp eax, 0x2000
jb case.0x44093e.14
cmp eax, 0x200a
jbe 0x43c4ca
cmp eax, 0x202f
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x3000
jne case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c52a
cmp eax, 0xc0
jb 0x43c52a
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c52a
jmp 0x43c513
mov ecx, dword [esp + 0x14]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x14], ecx
or eax, ebx
test edx, edx
jg 0x43c50f
cmp eax, 0x85
ja 0x43c54b
je case.0x44093e.14
cmp eax, 0xa
jb 0x43c55d
cmp eax, 0xd
jbe case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x2028
jb 0x43c55d
cmp eax, 0x2029
jbe case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c5bd
cmp eax, 0xc0
jb 0x43c5bd
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43c5bd
jmp 0x43c5a6
mov ecx, dword [esp + 0x14]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x14], ecx
or eax, ebx
test edx, edx
jg 0x43c5a2
cmp eax, 0x85
ja 0x43c5de
je 0x43c5f4
cmp eax, 0xa
jb case.0x44093e.14
cmp eax, 0xd
ja case.0x44093e.14
inc ebp
jmp 0x43b4c0
cmp eax, 0x2028
jb case.0x44093e.14
cmp eax, 0x2029
ja case.0x44093e.14
inc ebp
jmp 0x43b4c0
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
add eax, eax
add ebp, 3
cmp eax, dword [esp + 0x118]
mov dword [esp + 0x24], eax
jge 0x43c62c
mov ecx, dword [edi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x43c62c
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x43c63c
cmp dword [edi + 0x3c], 0
je 0x43c636
xor edx, edx
jmp 0x43c63c
mov edx, dword [edi + 0x5c]
sub edx, esi
inc edx
movzx eax, byte [ebp]
lea ecx, [eax - 0x46]
mov dword [esp + 0x28], edx
cmp ecx, 7
ja case.default.0x43c657
movzx ecx, byte [ecx + 0x440c2e]
jmp dword [ecx*4 + 0x440c26]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x481108]
movsx eax, byte [eax + 0x481110]
inc ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43c6d2
mov eax, 0x7fffffff
mov dword [esp + 0x18], eax
jmp 0x43c6d2
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
xor edx, edx
cmp byte [ebp], 0x4d
sete dl
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 3]
shl eax, 8
mov dword [esp + 0x2c], edx
movzx edx, byte [ebp + 4]
or eax, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
jne 0x43c6cb
mov eax, 0x7fffffff
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x28]
add ebp, 5
test edx, edx
je 0x43b4c0
cmp ecx, 1
mov dword [esp + 0x10], 1
jl 0x43c72d
lea esp, [esp]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
push edi
push ecx
push esi
push edx
call fcn.00433fc5
add esp, 0x14
test eax, eax
je case.0x44093e.14
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jle 0x43c6ee
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
je 0x43b4c0
cmp dword [esp + 0x2c], 0
je 0x43fa55
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x12c]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
jmp 0x43c78e
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x44093e.14
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push edx
push edi
push eax
push esi
push ecx
call fcn.00433fc5
add esp, 0x14
test eax, eax
je case.0x44093e.14
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
add esi, dword [esp + 0x28]
inc dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x11c]
push 0
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43c78e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x120]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.00433fc5
add esp, 0x14
test eax, eax
je case.0x44093e.14
add esi, ebx
jmp 0x43b4c0
mov al, byte [ebp + 0x21]
lea edx, [ebp + 1]
add ebp, 0x21
movzx ecx, al
mov dword [esp + 0x34], edx
lea edx, [ecx - 0x46]
cmp edx, 7
ja case.default.0x43c850
movzx edx, byte [edx + 0x440c3e]
jmp dword [edx*4 + 0x440c36]
add ecx, 0xffffffba
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x481108]
movsx ecx, byte [ecx + 0x481110]
add ebp, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x43c8de
mov dword [esp + 0x18], 0x7fffffff
jmp 0x43c8de
movzx edx, byte [ebp + 2]
xor ecx, ecx
cmp al, 0x4d
movzx eax, byte [ebp + 1]
sete cl
shl eax, 8
or eax, edx
movzx edx, byte [ebp + 4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ecx
movzx ecx, byte [ebp + 3]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x18], ecx
jne 0x43c8c5
mov dword [esp + 0x18], 0x7fffffff
add ebp, 5
mov edx, 1
jmp 0x43c8de
mov edx, 1
mov dword [esp + 0x18], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], edx
je 0x43c9b8
cmp eax, edx
jl 0x43c9f8
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x43c96e
mov ecx, edx
and ecx, 0x3f
movzx ecx, byte [ecx + 0x480670]
mov dword [esp + 0x24], ecx
lea ecx, [ecx + ecx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx*4 + 0x480654]
and ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
cmp dword [esp + 0x24], 0
mov dword [esp + 0x20], edx
jle 0x43c96e
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
dec dword [esp + 0x24]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
inc esi
mov ecx, edx
mov edx, dword [esp + 0x20]
or edx, ecx
cmp dword [esp + 0x24], 0
mov dword [esp + 0x20], edx
jg 0x43c943
cmp edx, 0xff
jbe 0x43c983
cmp dword [esp + 0x28], 0x4e
je case.0x44093e.14
jmp 0x43c9a5
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x34]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je case.0x44093e.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43c8f5
jmp 0x43c9f8
cmp eax, edx
jl 0x43c9f8
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x34]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x44093e.14
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43c9bc
mov ecx, dword [esp + 0x18]
cmp eax, ecx
je 0x43b4c0
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x10], eax
je 0x43fbe5
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x118]
inc eax
push eax
push 0
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x12c]
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
cmp dword [esp + 0x38], 0
je 0x43fb5d
test eax, eax
jne 0x440a8c
jmp 0x43ca5e
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43cacd
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edx*4 + 0x480654]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, cl
test edx, edx
jle 0x43cacd
mov ecx, dword [esp + 0x14]
dec edx
mov dword [esp + 0x30], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x30]
test edx, edx
jg 0x43caaa
cmp eax, 0xff
jbe 0x43fafd
cmp dword [esp + 0x28], 0x4e
je case.0x44093e.14
jmp 0x43fb1b
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
lea ecx, [ebp + 3]
add ebp, edx
mov dword [esp + 0x34], ecx
mov cl, byte [ebp]
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43cb13
movzx edx, byte [edx + 0x440c4e]
jmp dword [edx*4 + 0x440c46]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x481108]
movsx eax, byte [eax + 0x481110]
inc ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43cb96
mov eax, 0x7fffffff
jmp 0x43cb92
movzx edx, byte [ebp + 2]
xor eax, eax
cmp cl, 0x4d
movzx ecx, byte [ebp + 1]
sete al
shl ecx, 8
or ecx, edx
movzx edx, byte [ebp + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
movzx eax, byte [ebp + 3]
shl eax, 8
or eax, edx
mov dword [esp + 0x18], eax
jne 0x43cb82
mov eax, 0x7fffffff
mov dword [esp + 0x18], eax
add ebp, 5
jmp 0x43cb96
mov eax, 1
mov ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
cmp ecx, 1
mov dword [esp + 0x10], 1
jl 0x43cc40
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43cc11
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [eax*4 + 0x480654]
and edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x20], ecx
test eax, eax
jle 0x43cc11
lea esp, [esp]
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x20], ecx
test eax, eax
jg 0x43cbee
mov eax, dword [esp + 0x34]
push eax
push ecx
call fcn.00433a04
add esp, 8
test eax, eax
je case.0x44093e.14
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jle 0x43cba7
mov eax, dword [esp + 0x18]
cmp ecx, eax
je 0x43b4c0
cmp dword [esp + 0x2c], 0
je 0x43fdf5
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x12c]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
jmp 0x43cc9e
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43cd12
mov edx, ecx
and edx, 0x3f
movzx eax, byte [edx + 0x480670]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [eax*4 + 0x480654]
and edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x20], ecx
test eax, eax
jle 0x43cd12
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x20], ecx
test eax, eax
jg 0x43ccef
mov eax, dword [esp + 0x34]
push eax
push ecx
call fcn.00433a04
add esp, 8
test eax, eax
je case.0x44093e.14
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
inc dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43cc9e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [esp + 0x38], eax
je 0x43cdba
movzx eax, byte [ebp + 1]
inc ebp
mov ecx, 1
cmp eax, 0xc0
jb 0x43cd8c
and eax, 0x3f
movzx ecx, byte [eax + 0x480670]
inc ecx
mov edx, dword [edi + 0x5c]
sub edx, esi
cmp ecx, edx
jg case.0x44093e.14
test ecx, ecx
jle 0x43b4c0
mov al, byte [ebp]
mov dl, byte [esi]
dec ecx
inc esi
inc ebp
cmp al, dl
jne case.0x44093e.14
test ecx, ecx
jg 0x43cda1
jmp 0x43b4c0
mov eax, dword [edi + 0x5c]
sub eax, esi
cmp eax, 1
jl case.0x44093e.14
mov cl, byte [esi]
inc esi
cmp byte [ebp + 1], cl
jne case.0x44093e.14
add ebp, 2
jmp 0x43b4c0
cmp dword [esp + 0x38], eax
je 0x43cefd
movzx ecx, byte [ebp + 1]
inc ebp
mov edx, ecx
mov eax, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
cmp edx, 0xc0
jb 0x43ce51
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43ce48
movzx ebx, byte [ebx + ebp]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43ce2d
mov ecx, dword [esp + 0x30]
inc eax
mov dword [esp + 0x28], eax
mov ebx, dword [edi + 0x5c]
sub ebx, esi
cmp eax, ebx
jg case.0x44093e.14
cmp edx, 0x80
jae 0x43ce87
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
mov dl, byte [edx + eax]
inc esi
inc ebp
cmp byte [eax + ecx], dl
je 0x43b4c0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43cee4
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
lea ebx, [eax + eax*2]
add ebx, ebx
mov dword [esp + 0x14], ebx
mov ebx, dword [eax*4 + 0x480654]
and ebx, ecx
mov ecx, dword [esp + 0x14]
shl ebx, cl
mov ecx, ebx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x43cee4
movzx ebx, byte [esi]
mov ecx, dword [esp + 0x14]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
dec eax
or ecx, ebx
inc esi
mov dword [esp + 0x24], ecx
test eax, eax
jg 0x43cec1
add ebp, dword [esp + 0x28]
cmp edx, ecx
je 0x43b4c0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ecx, dword [edi + 0x5c]
sub ecx, esi
cmp ecx, 1
jl case.0x44093e.14
movzx ecx, byte [esi]
mov eax, dword [edi + 0x24]
movzx edx, byte [ebp + 1]
mov cl, byte [ecx + eax]
inc esi
cmp byte [edx + eax], cl
jne case.0x44093e.14
add ebp, 2
jmp 0x43b4c0
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
mov ecx, eax
mov dword [esp + 0x1c], ecx
add ebp, 3
jmp 0x43cfd8
mov dword [esp + 0x34], 1
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
xor edx, edx
xor ecx, ecx
cmp byte [ebp], 0x26
mov dword [esp + 0x1c], ecx
sete dl
add ebp, 3
mov dword [esp + 0x2c], edx
jmp 0x43cfd8
xor ecx, ecx
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], ecx
inc ebp
jmp 0x43cfd3
mov ecx, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ecx
add ebp, ecx
jmp 0x43cfd3
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], ecx
add ebp, eax
jmp 0x43cfd8
movzx eax, byte [ebp]
sub eax, 0x1f
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x481108]
movsx eax, byte [eax + 0x481110]
inc ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43cfdc
mov eax, 0x7fffffff
mov dword [esp + 0x18], eax
cmp dword [esp + 0x38], 0
je 0x43d1c8
movzx edx, byte [ebp]
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x43d07c
and edx, 0x3f
movzx ecx, byte [edx + 0x480670]
lea edx, [ecx + ecx*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [ecx*4 + 0x480654]
and edx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x10]
cmp edx, ecx
jl 0x43d073
movzx ecx, byte [ecx + ebp]
mov edx, dword [esp + 0x14]
sub edx, 6
and ecx, 0x3f
mov dword [esp + 0x30], ecx
mov ecx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
shl edx, cl
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x28], ecx
or dword [esp + 0x20], edx
mov edx, dword [esp + 0x10]
cmp ecx, edx
jle 0x43d040
mov ecx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x28], edx
imul ecx, dword [esp + 0x28]
mov edx, dword [edi + 0x5c]
sub edx, esi
cmp ecx, edx
jg case.0x44093e.14
mov ecx, dword [esp + 0x28]
mov edx, 1
add ebp, ecx
cmp ecx, edx
jle 0x43d1e6
cmp dword [esp + 0x1c], edx
mov dword [esp + 0x10], edx
jl 0x43d0dc
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push esi
call fcn.00412cc5
add esp, 0xc
test eax, eax
jne case.0x44093e.14
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jle 0x43d0ae
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x1c], edx
je 0x43b4c0
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jne 0x43ff54
cmp eax, edx
mov dword [esp + 0x2c], esi
jge 0x43d13a
mov eax, dword [edi + 0x5c]
sub eax, dword [esp + 0x28]
cmp esi, eax
ja 0x43d13a
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
push esi
call fcn.00412cc5
add esp, 0xc
test eax, eax
jne 0x43d13a
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43d105
cmp dword [esp + 0x34], 0
jne 0x43b4c0
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x118]
inc eax
push eax
push 0
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x12c]
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
cmp esi, dword [esp + 0x2c]
je case.0x44093e.14
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
sub esi, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x11c]
push 0
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43d180
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov edx, dword [edi + 0x5c]
sub edx, esi
cmp ecx, edx
jg case.0x44093e.14
movzx edx, byte [ebp]
mov dword [esp + 0x20], edx
mov edx, 1
add ebp, edx
jmp 0x43d1ea
mov ecx, dword [esp + 0x1c]
test byte [esp + 0x120], 1
je 0x43d2ea
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [ecx + edx]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
mov dword [esp + 0x10], 1
jl 0x43d244
lea ebx, [ebx]
movzx edx, byte [esi]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x20], ecx
jne case.0x44093e.14
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc edx
cmp edx, ecx
mov dword [esp + 0x10], edx
jle 0x43d21e
cmp ecx, eax
je 0x43b4c0
cmp dword [esp + 0x2c], 0
jne 0x440002
cmp ecx, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
jge 0x43d286
cmp esi, dword [edi + 0x5c]
jae 0x43d286
movzx edx, byte [esi]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x20], ecx
jne 0x43d286
mov ecx, dword [esp + 0x10]
inc ecx
inc esi
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x43d263
cmp dword [esp + 0x34], 0
jne 0x43b4c0
cmp esi, dword [esp + 0x2c]
jb 0x43d2dd
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
dec esi
test eax, eax
jne 0x440a8c
cmp esi, dword [esp + 0x2c]
jae 0x43d2a3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp ecx, edx
mov dword [esp + 0x10], edx
jl 0x43d311
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x20], edx
jne case.0x44093e.14
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc edx
cmp edx, ecx
mov dword [esp + 0x10], edx
jle 0x43d2f2
cmp ecx, eax
je 0x43b4c0
cmp dword [esp + 0x2c], 0
jne 0x4400b8
cmp ecx, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
jge 0x43d34c
cmp esi, dword [edi + 0x5c]
jae 0x43d34c
movzx ecx, byte [esi]
cmp dword [esp + 0x20], ecx
jne 0x43d34c
mov ecx, dword [esp + 0x10]
inc ecx
inc esi
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x43d330
cmp dword [esp + 0x34], 0
jne 0x43b4c0
cmp esi, dword [esp + 0x2c]
jb 0x43d3a8
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x43d36e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
dec esi
test eax, eax
jne 0x440a8c
cmp esi, dword [esp + 0x2c]
jae 0x43d36e
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
inc ebp
inc esi
cmp dword [esp + 0x38], 0
je 0x43d419
cmp eax, 0xc0
jb 0x43d419
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43d419
jmp 0x43d402
mov ecx, dword [esp + 0x30]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x30], ecx
or eax, ebx
test edx, edx
jg 0x43d3fe
test byte [esp + 0x120], 1
je 0x43d452
cmp eax, 0x100
jae 0x43d431
mov ecx, dword [edi + 0x24]
movzx eax, byte [ecx + eax]
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
inc ebp
cmp edx, eax
jne 0x43b4c0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
movzx ecx, byte [ebp]
inc ebp
cmp ecx, eax
jne 0x43b4c0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov eax, edx
add ebp, 3
jmp 0x43d518
movzx edx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl edx, 8
or edx, ecx
xor ecx, ecx
xor eax, eax
cmp byte [ebp], 0x33
sete cl
add ebp, 3
mov dword [esp + 0x2c], ecx
jmp 0x43d518
mov ecx, 1
xor eax, eax
mov dword [esp + 0x34], ecx
add ebp, ecx
jmp 0x43d513
mov eax, 1
mov dword [esp + 0x34], eax
add ebp, eax
jmp 0x43d513
mov edx, 1
xor eax, eax
mov dword [esp + 0x34], edx
add ebp, edx
jmp 0x43d518
movzx edx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl edx, 8
xor eax, eax
or edx, ecx
mov dword [esp + 0x34], 1
add ebp, 3
jmp 0x43d518
movzx ecx, byte [ebp]
movsx edx, byte [ecx + 0x4810e4]
sub ecx, 0x2c
movzx eax, cl
and eax, 1
inc ebp
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x481108]
mov dword [esp + 0x18], edx
test edx, edx
jne 0x43d51c
mov edx, 0x7fffffff
mov dword [esp + 0x18], edx
mov ecx, dword [edi + 0x5c]
sub ecx, esi
cmp eax, ecx
jg case.0x44093e.14
movzx ecx, byte [ebp]
inc ebp
test byte [esp + 0x120], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], 1
je 0x43d855
cmp dword [esp + 0x38], 0
mov edx, dword [edi + 0x24]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x20], edx
je 0x43d601
cmp eax, 1
jl 0x43d630
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43d5d5
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
mov dword [esp + 0x24], edx
lea edx, [edx + edx*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
mov edx, dword [edx*4 + 0x480654]
and edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
cmp dword [esp + 0x24], 0
mov ecx, edx
mov dword [esp + 0x28], ecx
jle 0x43d5d5
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
dec dword [esp + 0x24]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x28]
inc esi
or ecx, edx
cmp dword [esp + 0x24], 0
mov dword [esp + 0x28], ecx
jg 0x43d5ac
cmp ecx, 0x100
jae 0x43d5e4
mov edx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x20], ecx
je case.0x44093e.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43d567
jmp 0x43d630
cmp eax, 1
jl 0x43d630
jmp 0x43d60e
movzx edx, byte [esi]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x20], ecx
je case.0x44093e.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43d60e
mov ecx, dword [esp + 0x18]
cmp eax, ecx
je 0x43b4c0
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x10], eax
jne 0x440161
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43d7c2
cmp eax, ecx
jge 0x43d71b
mov edx, 1
lea esp, [esp]
mov dword [esp + 0x14], edx
cmp esi, dword [edi + 0x5c]
jae 0x43d71b
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43d6ec
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
lea ecx, [edx + edx*2]
mov dword [esp + 0x28], edx
mov edx, dword [edx*4 + 0x480654]
and edx, eax
add ecx, ecx
shl edx, cl
mov dword [esp + 0x14], 1
mov eax, edx
mov edx, dword [esp + 0x28]
cmp edx, 1
mov dword [esp + 0x24], eax
jl 0x43d6e3
mov edi, edi
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + esi]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc eax
mov dword [esp + 0x14], eax
or dword [esp + 0x24], edx
mov edx, dword [esp + 0x28]
cmp eax, edx
jle 0x43d6be
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x14], edx
cmp eax, 0x100
jae 0x43d6fa
mov edx, dword [edi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [esp + 0x20], eax
je 0x43d71b
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x14]
mov edx, 1
add eax, edx
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x43d66e
cmp dword [esp + 0x34], 0
jne 0x43b4c0
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43d848
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43d788
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43d77e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43d761
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, ecx
jge 0x43d7e9
cmp esi, dword [edi + 0x5c]
jae 0x43d7e9
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [esp + 0x20], eax
je 0x43d7e9
mov eax, dword [esp + 0x10]
inc eax
inc esi
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x43d7c6
cmp dword [esp + 0x34], 0
jne 0x43b4c0
cmp esi, dword [esp + 0x2c]
jb 0x43d848
mov edx, dword [esp + 0x12c]
inc edx
mov dword [esp + 0x1c], edx
jmp 0x43d80e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
push edx
push edi
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43d80e
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [esp + 0x38], 0
je 0x43d8f4
cmp eax, 1
jl 0x43d91b
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43d8d7
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
mov dword [esp + 0x24], edx
lea edx, [edx + edx*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
mov edx, dword [edx*4 + 0x480654]
and edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
cmp dword [esp + 0x24], 0
mov ecx, edx
mov dword [esp + 0x28], ecx
jle 0x43d8d7
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
dec dword [esp + 0x24]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x28]
inc esi
or ecx, edx
cmp dword [esp + 0x24], 0
mov dword [esp + 0x28], ecx
jg 0x43d8ae
cmp dword [esp + 0x20], ecx
je case.0x44093e.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43d869
jmp 0x43d917
cmp eax, 1
jl 0x43d91b
jmp 0x43d8fe
movzx edx, byte [esi]
inc esi
cmp ecx, edx
je case.0x44093e.14
mov edx, dword [esp + 0x10]
inc edx
cmp edx, eax
mov dword [esp + 0x10], edx
jle 0x43d8fe
mov edx, dword [esp + 0x18]
cmp eax, edx
je 0x43b4c0
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x10], eax
jne 0x4402f8
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43daa2
cmp eax, edx
jge 0x43d9fd
jmp 0x43d94e
mov dword [esp + 0x14], 1
cmp esi, dword [edi + 0x5c]
jae 0x43d9fd
movzx ecx, byte [esi]
mov dword [esp + 0x24], ecx
cmp ecx, 0xc0
jb 0x43d9e2
and ecx, 0x3f
movzx eax, byte [ecx + 0x480670]
mov dword [esp + 0x28], eax
lea ecx, [eax + eax*2]
mov eax, dword [eax*4 + 0x480654]
and eax, dword [esp + 0x24]
add ecx, ecx
shl eax, cl
mov dword [esp + 0x14], ecx
mov ecx, eax
mov eax, 1
cmp dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
jl 0x43d9d9
lea esp, [esp]
movzx eax, byte [eax + esi]
mov ecx, dword [esp + 0x14]
and eax, 0x3f
sub ecx, 6
shl eax, cl
mov dword [esp + 0x14], ecx
or dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
jle 0x43d9ae
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x20], ecx
je 0x43d9fd
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x14]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x43d94e
cmp dword [esp + 0x34], 0
jne 0x43b4c0
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43db19
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43da68
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43da5e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43da43
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, edx
jge 0x43dac2
cmp esi, dword [edi + 0x5c]
jae 0x43dac2
movzx ecx, byte [esi]
cmp dword [esp + 0x20], ecx
je 0x43dac2
mov eax, dword [esp + 0x10]
inc eax
inc esi
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x43daa6
cmp dword [esp + 0x34], 0
jne 0x43b4c0
cmp esi, dword [esp + 0x2c]
jb 0x43db19
mov edx, dword [esp + 0x12c]
inc edx
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
push edx
push edi
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43dadf
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ebx, 8
or ebx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], 1
add ebp, 3
jmp 0x43dbe9
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
xor edx, edx
or eax, ecx
xor ebx, ebx
cmp byte [ebp], 0x40
mov dword [esp + 0x18], eax
sete dl
add ebp, 3
mov dword [esp + 0x2c], edx
jmp 0x43dbe9
xor ebx, ebx
mov dword [esp + 0x34], 1
inc ebp
jmp 0x43dbe1
mov ebx, 1
mov dword [esp + 0x34], ebx
add ebp, ebx
jmp 0x43dbe1
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], eax
add ebp, eax
jmp 0x43dbe9
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
xor ebx, ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], eax
add ebp, 3
jmp 0x43dbe9
movzx eax, byte [ebp]
movsx ebx, byte [eax + 0x4810cf]
sub eax, 0x39
movzx ecx, al
movsx eax, byte [eax + 0x481110]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43dbe9
mov dword [esp + 0x18], 0x7fffffff
mov eax, dword [edi + 0x5c]
movzx ecx, byte [ebp]
mov edx, eax
sub edx, esi
inc ebp
cmp ebx, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
jg case.0x44093e.14
test ebx, ebx
jle 0x43e67a
add ecx, 0xfffffffa
cmp dword [esp + 0x38], 0
je 0x43e398
cmp ecx, 0xf
ja case.0x440924.15
jmp dword [ecx*4 + 0x440c56]
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e67a
cmp esi, eax
jae case.0x44093e.14
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43dc70
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x2c]
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne case.0x44093e.14
lea edx, [eax + 1]
jmp 0x43dc94
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43dc94
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43dc94
cmp ecx, edx
je case.0x44093e.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44093e.14
mov eax, dword [edi + 0x5c]
add esi, edx
mov dword [esp + 0x28], eax
cmp esi, eax
jae 0x43dcb2
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43dcb2
add esi, edx
cmp esi, dword [edi + 0x5c]
jb 0x43dca1
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43dc3c
jmp 0x43e67a
mov ecx, 1
cmp ebx, ecx
jl 0x43e67a
cmp esi, eax
jae case.0x44093e.14
inc esi
cmp esi, eax
jae 0x43dcf3
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43dcf3
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43dce3
inc ecx
cmp ecx, ebx
jle 0x43dcd6
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
jmp 0x43dd14
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43dd74
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edx*4 + 0x480654]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, cl
test edx, edx
jle 0x43dd74
mov ecx, dword [esp + 0x14]
dec edx
mov dword [esp + 0x30], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x30]
test edx, edx
jg 0x43dd51
cmp eax, 0xd
ja 0x43dd9f
je 0x43dd91
cmp eax, 0xa
je 0x43ddc6
jbe case.0x44093e.14
cmp eax, 0xc
ja case.0x44093e.14
jmp 0x43ddbc
cmp esi, dword [esp + 0x28]
jae 0x43ddc6
cmp byte [esi], 0xa
jne 0x43ddc6
inc esi
jmp 0x43ddc6
cmp eax, 0x85
je 0x43ddbc
cmp eax, 0x2027
jbe case.0x44093e.14
cmp eax, 0x2029
ja case.0x44093e.14
cmp dword [edi + 0x50], 0
jne case.0x44093e.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43dd10
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
jmp 0x43ddf3
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43de53
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edx*4 + 0x480654]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, cl
test edx, edx
jle 0x43de53
mov ecx, dword [esp + 0x14]
dec edx
mov dword [esp + 0x30], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x30]
test edx, edx
jg 0x43de30
cmp eax, 0x180e
ja 0x43de8e
je case.0x44093e.14
cmp eax, 0xa0
ja 0x43de81
je case.0x44093e.14
cmp eax, 9
je case.0x44093e.14
cmp eax, 0x20
je case.0x44093e.14
jmp 0x43dec5
cmp eax, 0x1680
je case.0x44093e.14
jmp 0x43dec5
cmp eax, 0x205f
ja 0x43deba
je case.0x44093e.14
cmp eax, 0x2000
jb 0x43dec5
cmp eax, 0x200a
jbe case.0x44093e.14
cmp eax, 0x202f
je case.0x44093e.14
jmp 0x43dec5
cmp eax, 0x3000
je case.0x44093e.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43ddef
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
jmp 0x43def2
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43df52
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edx*4 + 0x480654]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, cl
test edx, edx
jle 0x43df52
mov ecx, dword [esp + 0x14]
dec edx
mov dword [esp + 0x30], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x30]
test edx, edx
jg 0x43df2f
cmp eax, 0x180e
ja 0x43df81
je 0x43dfb4
cmp eax, 0xa0
ja 0x43df74
je 0x43dfb4
cmp eax, 9
je 0x43dfb4
cmp eax, 0x20
jne case.0x44093e.14
jmp 0x43dfb4
cmp eax, 0x1680
jne case.0x44093e.14
jmp 0x43dfb4
cmp eax, 0x205f
ja 0x43dfa9
je 0x43dfb4
cmp eax, 0x2000
jb case.0x44093e.14
cmp eax, 0x200a
jbe 0x43dfb4
cmp eax, 0x202f
jne case.0x44093e.14
jmp 0x43dfb4
cmp eax, 0x3000
jne case.0x44093e.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43deee
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
jmp 0x43dfe2
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e042
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edx*4 + 0x480654]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, cl
test edx, edx
jle 0x43e042
mov ecx, dword [esp + 0x14]
dec edx
mov dword [esp + 0x30], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x30]
test edx, edx
jg 0x43e01f
cmp eax, 0x85
ja 0x43e05f
je case.0x44093e.14
cmp eax, 0xa
jb 0x43e071
cmp eax, 0xd
jbe case.0x44093e.14
jmp 0x43e071
cmp eax, 0x2028
jb 0x43e071
cmp eax, 0x2029
jbe case.0x44093e.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43dfde
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
jmp 0x43e0a2
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e102
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edx*4 + 0x480654]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, cl
test edx, edx
jle 0x43e102
mov ecx, dword [esp + 0x14]
dec edx
mov dword [esp + 0x30], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x30]
test edx, edx
jg 0x43e0df
cmp eax, 0x85
ja 0x43e11f
je 0x43e135
cmp eax, 0xa
jb case.0x44093e.14
cmp eax, 0xd
ja case.0x44093e.14
jmp 0x43e135
cmp eax, 0x2028
jb case.0x44093e.14
cmp eax, 0x2029
ja case.0x44093e.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43e09e
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e67a
jmp 0x43e167
mov eax, dword [esp + 0x28]
mov edx, 1
cmp esi, eax
jae case.0x44093e.14
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43e1d1
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [eax*4 + 0x480654]
and edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x20], ecx
test eax, eax
jle 0x43e1d1
lea esp, [esp]
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x20], ecx
test eax, eax
jg 0x43e1ae
cmp ecx, 0x80
jae 0x43e1e6
mov eax, dword [edi + 0x28]
test byte [ecx + eax], 4
jne case.0x44093e.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43e15e
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
nop
cmp esi, eax
jae case.0x44093e.14
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44093e.14
mov edx, dword [edi + 0x28]
movzx ecx, cl
mov cl, byte [ecx + edx]
and cl, 4
inc esi
test cl, cl
je case.0x44093e.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e20e
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e67a
jmp 0x43e25e
cmp esi, eax
jae case.0x44093e.14
mov cl, byte [esi]
cmp cl, 0x80
jae 0x43e282
movzx edx, cl
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne case.0x44093e.14
mov edx, 1
add esi, edx
cmp esi, eax
jae 0x43e292
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
je 0x43e282
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e25e
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
cmp esi, eax
jae case.0x44093e.14
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44093e.14
movzx edx, cl
mov ecx, dword [edi + 0x28]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x44093e.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e2b6
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e67a
cmp esi, eax
jae case.0x44093e.14
mov cl, byte [esi]
cmp cl, 0x80
jae 0x43e325
mov edx, dword [edi + 0x28]
movzx ecx, cl
test byte [ecx + edx], 0x10
jne case.0x44093e.14
mov edx, 1
add esi, edx
cmp esi, eax
jae 0x43e335
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
je 0x43e325
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e301
jmp 0x43e67a
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e67a
jmp 0x43e35e
cmp esi, eax
jae case.0x44093e.14
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x44093e.14
movzx edx, cl
mov ecx, dword [edi + 0x28]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x44093e.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e35e
jmp 0x43e67a
cmp ecx, 0xf
ja case.0x440924.15
jmp dword [ecx*4 + 0x440c96]
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e67a
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e3e5
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43e40c
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne case.0x44093e.14
lea edx, [eax + 1]
jmp 0x43e40c
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x5c]
sub ecx, eax
cmp esi, ecx
ja 0x43e40c
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x43e40c
cmp eax, edx
je case.0x44093e.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x44093e.14
mov eax, dword [esp + 0x10]
add eax, edx
add esi, edx
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43e3b9
jmp 0x43e67a
add esi, ebx
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
jl 0x43e67a
cmp esi, eax
jae case.0x44093e.14
movzx ecx, byte [esi]
sub ecx, 0xa
inc esi
cmp ecx, 0x7b
ja case.0x44093e.14
movzx ecx, byte [ecx + 0x440ce6]
jmp dword [ecx*4 + 0x440cd6]
cmp esi, eax
jae case.0x43e454.10
cmp byte [esi], 0xa
jne case.0x43e454.10
inc esi
jmp case.0x43e454.10
cmp dword [edi + 0x50], 0
jne case.0x44093e.14
inc edx
cmp edx, ebx
jle 0x43e435
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
jl 0x43e67a
lea ebx, [ebx]
cmp esi, eax
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x44093e.14
cmp ecx, 0x20
je case.0x44093e.14
cmp ecx, 0xa0
je case.0x44093e.14
inc edx
cmp edx, ebx
jle 0x43e48e
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
jl 0x43e67a
cmp esi, eax
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x43e4f1
cmp ecx, 0x20
je 0x43e4f1
cmp ecx, 0xa0
jne case.0x44093e.14
inc edx
cmp edx, ebx
jle 0x43e4cf
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
jl 0x43e67a
lea ebx, [ebx]
cmp esi, eax
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x43e534
cmp ecx, 0xd
jle case.0x44093e.14
cmp ecx, 0x85
je case.0x44093e.14
inc edx
cmp edx, ebx
jle 0x43e50e
jmp 0x43e67a
mov edx, 1
cmp ebx, edx
jl 0x43e67a
lea ecx, [ecx]
cmp esi, eax
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x44093e.14
cmp ecx, 0xd
jle 0x43e574
cmp ecx, 0x85
jne case.0x44093e.14
inc edx
cmp edx, ebx
jle 0x43e54e
jmp 0x43e67a
mov eax, 1
cmp ebx, eax
jl 0x43e67a
mov ecx, dword [edi + 0x28]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 4
inc esi
test dl, dl
jne case.0x44093e.14
inc eax
cmp eax, ebx
jle 0x43e58e
jmp 0x43e67a
mov eax, 1
cmp ebx, eax
jl 0x43e67a
mov ecx, dword [edi + 0x28]
lea esp, [esp]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 4
inc esi
test dl, dl
je case.0x44093e.14
inc eax
cmp eax, ebx
jle 0x43e5be
jmp 0x43e67a
mov eax, 1
cmp ebx, eax
jl 0x43e67a
mov ecx, dword [edi + 0x28]
lea esp, [esp]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
jne case.0x44093e.14
inc eax
cmp eax, ebx
jle 0x43e5ee
jmp 0x43e67a
mov eax, 1
cmp ebx, eax
jl 0x43e67a
mov ecx, dword [edi + 0x28]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x44093e.14
inc eax
cmp eax, ebx
jle 0x43e613
jmp 0x43e67a
mov eax, 1
cmp ebx, eax
jl 0x43e67a
mov ecx, dword [edi + 0x28]
lea ebx, [ebx]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
jne case.0x44093e.14
inc eax
cmp eax, ebx
jle 0x43e63e
jmp 0x43e67a
mov eax, 1
cmp ebx, eax
jl 0x43e67a
mov ecx, dword [edi + 0x28]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x44093e.14
inc eax
cmp eax, ebx
jle 0x43e663
cmp ebx, dword [esp + 0x18]
je 0x43b4c0
cmp dword [esp + 0x2c], 0
jne 0x440481
mov eax, dword [esp + 0x24]
add eax, 0xfffffffa
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43ef2b
cmp eax, 0xf
ja case.0x440924.15
jmp dword [eax*4 + 0x440d62]
mov edx, dword [esp + 0x18]
cmp edx, 0x7fffffff
jge 0x43e746
cmp ebx, edx
jge 0x43ee84
nop
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43ee84
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e702
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne 0x43ee84
mov edx, dword [esp + 0x18]
jmp 0x43e727
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e727
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43e727
cmp ecx, 1
je 0x43ee84
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je 0x43ee84
inc esi
cmp esi, dword [edi + 0x5c]
jae 0x43e73c
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e73c
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43e72e
inc ebx
cmp ebx, edx
jl 0x43e6ce
jmp 0x43ee84
cmp ebx, edx
jge 0x43ee84
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43ee84
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e782
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne 0x43ee84
mov edx, dword [esp + 0x18]
jmp 0x43e7a7
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e7a7
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43e7a7
cmp ecx, 1
je 0x43ee84
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je 0x43ee84
inc esi
cmp esi, dword [edi + 0x5c]
jae 0x43e7bc
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e7bc
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43e7ae
inc ebx
cmp ebx, edx
jl 0x43e74e
jmp 0x43ee84
mov ecx, dword [esp + 0x18]
cmp ecx, 0x7fffffff
jge 0x43e808
cmp ebx, ecx
jge 0x43ee84
mov eax, dword [edi + 0x5c]
nop
cmp esi, eax
jae 0x43ee84
inc esi
cmp esi, eax
jae 0x43e7fe
lea ecx, [ecx]
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43e7fe
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43e7ee
inc ebx
cmp ebx, ecx
jl 0x43e7de
jmp 0x43ee84
mov esi, dword [edi + 0x5c]
jmp 0x43ee84
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x5c]
sub ecx, ebx
sub eax, esi
cmp ecx, eax
jbe 0x43e821
mov ecx, eax
add esi, ecx
jmp 0x43ee84
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
jmp 0x43e83e
mov edx, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43e8a5
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x30], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x14], ebx
jl 0x43e8a4
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x14]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x14], ebx
or eax, edx
mov edx, dword [esp + 0x30]
cmp ebx, edx
jle 0x43e885
inc edx
cmp eax, 0xd
jne 0x43e8bc
inc esi
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
cmp byte [esi], 0xa
jne 0x43e8f0
inc esi
jmp 0x43e8f0
cmp eax, 0xa
je 0x43e8ee
cmp dword [edi + 0x50], 0
jne 0x43ee84
cmp eax, 0xb
je 0x43e8ee
cmp eax, 0xc
je 0x43e8ee
cmp eax, 0x85
je 0x43e8ee
cmp eax, 0x2028
je 0x43e8ee
cmp eax, 0x2029
jne 0x43ee84
add esi, edx
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43e83e
jmp 0x43ee84
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
mov edx, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43e97d
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x30], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x14], ebx
jl 0x43e97c
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x14]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x14], ebx
or eax, edx
mov edx, dword [esp + 0x30]
cmp ebx, edx
jle 0x43e95d
inc edx
cmp eax, 0x180e
ja 0x43e9d5
je 0x43e999
cmp eax, 0xa0
ja 0x43e9ca
je 0x43e999
cmp eax, 9
je 0x43e999
cmp eax, 0x20
jne 0x43e9fe
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x24], 0x12
sete al
cmp ecx, eax
je 0x43ee84
mov eax, dword [esp + 0x10]
inc eax
add esi, edx
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43e916
jmp 0x43ee84
cmp eax, 0x1680
je 0x43e999
xor ecx, ecx
jmp 0x43e99e
cmp eax, 0x205f
ja 0x43e9f7
je 0x43e999
cmp eax, 0x2000
jb 0x43e9fe
cmp eax, 0x200a
jbe 0x43e999
cmp eax, 0x202f
je 0x43e999
xor ecx, ecx
jmp 0x43e99e
cmp eax, 0x3000
je 0x43e999
xor ecx, ecx
jmp 0x43e99e
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
mov edx, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43ea77
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x30], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x14], ebx
jl 0x43ea76
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x14]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x14], ebx
or eax, edx
mov edx, dword [esp + 0x30]
cmp ebx, edx
jle 0x43ea57
inc edx
cmp eax, 0x85
ja 0x43eab8
je 0x43eac6
cmp eax, 0xa
jb 0x43ea8a
cmp eax, 0xd
jbe 0x43eac6
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x24], 0x14
sete al
cmp ecx, eax
je 0x43ee84
mov eax, dword [esp + 0x10]
inc eax
add esi, edx
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ea10
jmp 0x43ee84
cmp eax, 0x2028
jb 0x43ea8a
cmp eax, 0x2029
ja 0x43ea8a
mov ecx, 1
jmp 0x43ea8c
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
lea ecx, [ecx]
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43eb3e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43eb3d
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43eb22
inc eax
cmp edx, 0x100
jae 0x43eb53
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x43ee84
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43eade
jmp 0x43ee84
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
lea ecx, [ecx]
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ebde
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43ebdd
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43ebc2
inc eax
cmp edx, 0x100
jae 0x43ee84
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x43ee84
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43eb7e
jmp 0x43ee84
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ec7f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43ec7e
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43ec63
inc eax
cmp edx, 0x100
jae 0x43ec94
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x43ee84
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ec1f
jmp 0x43ee84
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
mov edi, edi
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ed1e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43ed1d
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43ed02
inc eax
cmp edx, 0x100
jae 0x43ee84
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x43ee84
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ecbe
jmp 0x43ee84
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43edbf
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43edbe
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43eda3
inc eax
cmp edx, 0x100
jae 0x43edd4
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x43ee84
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ed5f
jmp 0x43ee84
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43ee84
mov edi, edi
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43ee84
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ee5e
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
mov ebx, dword [eax*4 + 0x480654]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x14], ebx
jl 0x43ee5d
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x14]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jle 0x43ee42
inc eax
cmp edx, 0x100
jae 0x43ee84
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x43ee84
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43edfe
cmp dword [esp + 0x34], 0
jne 0x43b4c0
mov ebx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x120]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je 0x43f27d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43eeee
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43eee2
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
push ebx
push 0
push edx
mov edx, dword [esp + 0x120]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43eecd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, 0xf
ja case.0x440924.15
jmp dword [eax*4 + 0x440da2]
cmp ebx, dword [esp + 0x18]
jge 0x43f227
jmp 0x43ef4e
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43f227
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43ef7b
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne 0x43f227
jmp 0x43efa0
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43efa0
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43efa0
cmp ecx, 1
je 0x43f227
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je 0x43f227
inc ebx
inc esi
cmp ebx, dword [esp + 0x18]
jl 0x43ef4e
jmp 0x43f227
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x5c]
sub ecx, ebx
sub eax, esi
cmp ecx, eax
jbe 0x43efbe
mov ecx, eax
add esi, ecx
jmp 0x43f227
mov edx, dword [esp + 0x18]
cmp ebx, edx
jge 0x43f227
mov ecx, dword [edi + 0x5c]
cmp esi, ecx
jae 0x43f227
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43eff4
inc esi
cmp esi, ecx
jae 0x43f227
cmp byte [esi], 0xa
jne 0x43f019
jmp 0x43f018
cmp eax, 0xa
je 0x43f018
cmp dword [edi + 0x50], 0
jne 0x43f227
cmp eax, 0xb
je 0x43f018
cmp eax, 0xc
je 0x43f018
cmp eax, 0x85
jne 0x43f227
inc esi
inc ebx
cmp ebx, edx
jl 0x43efd4
jmp 0x43f227
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f227
mov edx, dword [edi + 0x5c]
cmp esi, edx
jae 0x43f227
movzx eax, byte [esi]
cmp eax, 9
je 0x43f227
cmp eax, 0x20
je 0x43f227
cmp eax, 0xa0
je 0x43f227
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f032
jmp 0x43f227
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f227
mov edx, dword [edi + 0x5c]
cmp esi, edx
jae 0x43f227
movzx eax, byte [esi]
cmp eax, 9
je 0x43f094
cmp eax, 0x20
je 0x43f094
cmp eax, 0xa0
jne 0x43f227
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f074
jmp 0x43f227
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f227
mov edx, dword [edi + 0x5c]
cmp esi, edx
jae 0x43f227
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f227
cmp eax, 0xb
je 0x43f227
cmp eax, 0xc
je 0x43f227
cmp eax, 0xd
je 0x43f227
cmp eax, 0x85
je 0x43f227
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f0ae
jmp 0x43f227
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f227
mov edx, dword [edi + 0x5c]
cmp esi, edx
jae 0x43f227
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f12c
cmp eax, 0xb
je 0x43f12c
cmp eax, 0xc
je 0x43f12c
cmp eax, 0xd
je 0x43f12c
cmp eax, 0x85
jne 0x43f227
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f102
jmp 0x43f227
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f227
cmp esi, dword [edi + 0x5c]
jae 0x43f227
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x43f227
inc ebx
inc esi
cmp ebx, eax
jl 0x43f143
jmp 0x43f227
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f227
cmp esi, dword [edi + 0x5c]
jae 0x43f227
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x43f227
inc ebx
inc esi
cmp ebx, eax
jl 0x43f173
jmp 0x43f227
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f227
cmp esi, dword [edi + 0x5c]
jae 0x43f227
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x43f227
inc ebx
inc esi
cmp ebx, eax
jl 0x43f1a3
jmp 0x43f227
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f227
mov edi, edi
cmp esi, dword [edi + 0x5c]
jae 0x43f227
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x43f227
inc ebx
inc esi
cmp ebx, eax
jl 0x43f1ce
jmp 0x43f227
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f227
cmp esi, dword [edi + 0x5c]
jae 0x43f227
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x43f227
inc ebx
inc esi
cmp ebx, eax
jl 0x43f1ef
jmp 0x43f227
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f227
cmp esi, dword [edi + 0x5c]
jae 0x43f227
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x43f227
inc ebx
inc esi
cmp ebx, eax
jl 0x43f210
cmp dword [esp + 0x34], 0
jne 0x43b4c0
cmp esi, dword [esp + 0x2c]
jb 0x43f27d
mov ebx, dword [esp + 0x12c]
inc ebx
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
push ebx
push 0
push eax
mov eax, dword [esp + 0x120]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
dec esi
test eax, eax
jne 0x440a8c
cmp esi, dword [esp + 0x2c]
jae 0x43f240
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
cmp byte [edx + ebp + 3], 0x54
lea ebp, [edx + ebp + 3]
jne 0x43f2b7
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43f2a2
add ebp, 3
cmp dword [esp + 0x28], 0x63
jne 0x43f52a
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
inc ecx
push ecx
mov ecx, dword [esp + 0x11c]
push 2
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
movzx eax, byte [ebp + 3]
movzx ecx, byte [ebp + 4]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
cmp ecx, dword [edi + 0x14]
mov dword [esp + 0x24], eax
jl 0x43f6d4
movzx ecx, byte [ebp + 2]
xor eax, eax
cmp edx, 0x61
movzx edx, byte [ebp + 1]
setl al
shl edx, 8
or edx, ecx
dec eax
and eax, 2
cmp byte [edx + ebp], 0x54
mov dword [esp + 0x128], eax
jne 0x43f3c9
jmp 0x43f34e
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
inc eax
push eax
mov eax, dword [esp + 0x128]
push edx
mov edx, dword [esp + 0x120]
push eax
movzx eax, byte [ebp]
push ecx
movzx ecx, byte [eax + 0x4805b0]
push edi
push edx
push ebx
add ecx, ebp
push ecx
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43f39f
cmp eax, 0xfffffc1c
jne 0x440a8c
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
movzx ecx, byte [ebp + edx + 1]
add ebp, edx
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
cmp byte [ecx + ebp], 0x54
je 0x43f34e
mov eax, dword [esp + 0x128]
test eax, eax
jne 0x43f7cf
movzx eax, byte [ebp]
movzx ecx, byte [eax + 0x4805b0]
add ebp, ecx
jmp 0x43f535
cmp byte [ebp + 3], 0x19
lea ecx, [ebp + 3]
mov dword [esp + 0x14], ecx
jne 0x43f407
mov ecx, dword [esp + 0x120]
movzx edx, byte [ebp + 4]
and ecx, 0xfffffff8
or edx, ecx
mov dword [esp + 0x120], edx
cmp byte [ebp], 0x57
jne 0x43f44a
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
inc edx
push edx
mov edx, dword [esp + 0x124]
push 0
push ecx
push edx
push edi
push eax
mov eax, dword [esp + 0x2c]
push ebx
push eax
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov ebp, dword [esp + 0x34]
jmp 0x43f52a
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x124]
inc ecx
push ecx
mov ecx, dword [esp + 0x124]
push 2
push edx
mov edx, dword [esp + 0x40]
push ecx
push edi
push eax
push ebx
push edx
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov ebp, dword [esp + 0x14]
jmp 0x43f52a
cmp byte [edx], 0x61
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
cmp byte [ebp], 0x57
mov dword [esp + 0x128], eax
jne 0x43f4e9
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x3c]
inc eax
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
push edx
push edi
push eax
push ebx
add ebp, 3
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
cmp dword [esp + 0x128], eax
jne 0x43f9f7
mov ebp, dword [esp + 0x34]
jmp 0x43f535
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x124]
inc ecx
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x120]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edi
push edx
push ebx
push eax
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
add ebp, 3
mov dword [esp + 0x128], 0
mov edx, dword [edi]
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x38], ecx
cmp edx, dword [edi + 4]
jb 0x43b47f
inc dword [edi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
inc eax
push eax
mov eax, dword [esp + 0x124]
push ecx
mov ecx, dword [esp + 0x120]
push edx
movzx edx, byte [ebp]
push eax
movzx eax, byte [edx + 0x4805b0]
push edi
push ecx
push ebx
add eax, ebp
push eax
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x124]
inc ecx
push ecx
mov ecx, dword [esp + 0x124]
push edx
mov edx, dword [esp + 0x120]
push eax
movzx eax, byte [ebp]
push ecx
movzx ecx, byte [eax + 0x4805b0]
push edi
push edx
push ebx
add ecx, ebp
push ecx
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov eax, 0xfffffc19
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x124]
inc edx
push edx
mov edx, dword [esp + 0x124]
push eax
mov eax, dword [esp + 0x120]
push ecx
movzx ecx, byte [ebp]
push edx
movzx edx, byte [ecx + 0x4805b0]
push edi
push eax
push ebx
add edx, ebp
push edx
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov dword [edi + 0x60], esi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
inc eax
push eax
mov eax, dword [esp + 0x124]
push ecx
mov ecx, dword [esp + 0x120]
push edx
movzx edx, byte [ebp]
push eax
movzx eax, byte [edx + 0x4805b0]
push edi
push ecx
push ebx
add eax, ebp
push eax
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [edi + 0xc]
mov edx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
xor edx, edx
mov ecx, esi
sub ecx, dword [edi + 0x58]
cmp dword [esp + 0x28], 0x62
mov dword [eax], ecx
mov eax, dword [esp + 0x12c]
setne dl
dec edx
and edx, 2
inc eax
mov dword [esp + 0x128], edx
mov dword [esp + 0x1c], eax
jmp 0x43f72e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x124]
push ecx
mov ecx, dword [esp + 0x124]
push edx
mov edx, dword [esp + 0x120]
push eax
movzx eax, byte [ebp]
push ecx
movzx ecx, byte [eax + 0x4805b0]
push edi
push edx
push ebx
add ecx, ebp
push ecx
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43f77b
cmp eax, 0xfffffc1c
jne 0x440a8c
mov edx, dword [esp + 0x30]
mov dword [edi + 0x6c], edx
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x43f72e
mov ecx, dword [esp + 0x24]
mov edx, dword [edi + 0xc]
mov esi, dword [esp + 0x14]
lea eax, [ecx + ecx]
mov dword [edx + eax*4], esi
mov edx, dword [edi + 0xc]
mov esi, dword [esp + 0x3c]
mov dword [edx + eax*4 + 4], esi
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [edi + 0xc]
mov dword [ecx + eax*4], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
inc eax
push eax
mov eax, dword [esp + 0x124]
push ecx
mov ecx, dword [esp + 0x120]
push edx
movzx edx, byte [ebp]
push eax
movzx eax, byte [edx + 0x4805b0]
push edi
push ecx
push ebx
add eax, ebp
push eax
push esi
call fcn.0043b44e
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [edi + 0x44], eax
je 0x43f825
cmp esi, ebx
je case.0x44093e.14
mov edx, dword [esp + 0x118]
mov dword [edi + 0x64], esi
mov dword [edi + 0x68], edx
mov dword [edi + 0x60], ebx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
mov ecx, dword [edi + 0x54]
shl eax, 8
or eax, edx
add eax, ecx
mov dword [esp + 0x30], eax
cmp eax, ecx
jne 0x43f869
mov dword [esp + 0x44], 0
jmp 0x43f87a
movzx ecx, byte [eax + 3]
movzx edx, byte [eax + 4]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x44], ecx
mov eax, dword [edi + 0x7c]
lea ecx, [esp + 0x40]
mov dword [edi + 0x7c], ecx
mov ecx, dword [edi + 0x10]
add ebp, 3
cmp ecx, 0x1e
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x54], ecx
jg 0x43f8a8
lea eax, [esp + 0x90]
mov dword [esp + 0x50], eax
jmp 0x43f8d5
lea edx, [ecx*4]
push edx
call dword [0x48c650]
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
jne 0x43f8d1
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ecx, dword [esp + 0x54]
mov edx, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00412960
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x58], ebx
mov al, byte [ebp]
add esp, 0xc
cmp al, 0x61
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ecx
lea ebx, [ebx]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
push edx
mov edx, dword [esp + 0x124]
push ebx
push ecx
mov ecx, dword [esp + 0x124]
push edx
movzx edx, al
movzx eax, byte [edx + 0x4805b0]
push edi
push ecx
push esi
add eax, ebp
push eax
push esi
call fcn.0043b44e
add esp, 0x24
cmp eax, 1
je 0x43f9c7
test eax, eax
je 0x43f95c
cmp eax, 0xfffffc1c
jne 0x440a8c
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x40]
lea eax, [edx*4]
mov edx, dword [edi + 0xc]
mov dword [edi + 0x7c], ecx
mov ecx, dword [esp + 0x50]
push eax
push ecx
push edx
call fcn.00412960
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
mov al, byte [ebp]
add esp, 0xc
cmp al, 0x54
je 0x43f90e
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x90]
mov dword [edi + 0x7c], edx
cmp eax, ecx
je 0x43f9ba
push eax
call dword [0x48c654]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x90]
mov dword [edi + 0x7c], edx
cmp eax, ecx
je 0x43f9e7
push eax
call dword [0x48c654]
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x124]
inc edx
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x120]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push edi
push eax
push ebx
push ecx
push esi
call fcn.0043b44e
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov edx, dword [esp + 0x118]
mov dword [edi + 0x64], esi
mov dword [edi + 0x68], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp ecx, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
jge 0x43faa7
jmp 0x43fa6e
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
push edi
push ecx
push esi
push edx
call fcn.00433fc5
add esp, 0x14
test eax, eax
je 0x43faa1
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fa6e
cmp esi, dword [esp + 0x2c]
jb 0x43faf0
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
sub esi, dword [esp + 0x28]
cmp esi, dword [esp + 0x2c]
jae 0x43fab3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x34]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x44093e.14
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
inc dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43ca5e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
test eax, eax
jne 0x440a8c
jmp 0x43fb6e
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x34]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x44093e.14
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
inc dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43fb6e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43fd62
cmp eax, ecx
jge 0x43fcc9
mov dword [esp + 0x14], 1
cmp esi, dword [edi + 0x5c]
jae 0x43fcc9
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43fc88
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [edx*4 + 0x480654]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, cl
mov ecx, 1
cmp edx, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x3c], ecx
jl 0x43fc83
movzx ecx, byte [ecx + esi]
mov edx, dword [esp + 0x14]
sub edx, 6
and ecx, 0x3f
mov dword [esp + 0x30], ecx
mov ecx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
shl edx, cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
or eax, edx
mov edx, dword [esp + 0x24]
cmp ecx, edx
jle 0x43fc52
inc edx
mov dword [esp + 0x14], edx
cmp eax, 0xff
jbe 0x43fc98
cmp dword [esp + 0x28], 0x4e
je 0x43fcc9
jmp 0x43fcb2
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x34]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x43fcc9
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fbfc
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43fde8
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43fd28
lea ecx, [ecx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43fd1e
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43fd04
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, ecx
jge 0x43fd9e
cmp esi, dword [edi + 0x5c]
jae 0x43fd98
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x34]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x43fd98
mov eax, dword [esp + 0x10]
inc eax
inc esi
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fd66
cmp esi, dword [esp + 0x2c]
jb 0x43fde8
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x1c], ecx
lea esp, [esp]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
push edx
mov edx, dword [esp + 0x11c]
push 0
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43fdae
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp ecx, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
jge 0x43feb1
mov dword [esp + 0x14], 1
cmp esi, dword [edi + 0x5c]
jae 0x43feb1
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fe88
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
lea ecx, [eax + eax*2]
mov dword [esp + 0x3c], eax
mov eax, dword [eax*4 + 0x480654]
and eax, edx
add ecx, ecx
shl eax, cl
mov dword [esp + 0x14], 1
mov edx, eax
mov eax, dword [esp + 0x3c]
cmp eax, 1
mov dword [esp + 0x20], edx
jl 0x43fe83
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + esi]
and eax, 0x3f
sub ecx, 6
shl eax, cl
inc edx
mov dword [esp + 0x14], edx
or dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
cmp edx, eax
jle 0x43fe5e
mov edx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x34]
push ecx
push edx
call fcn.00433a04
add esp, 8
test eax, eax
je 0x43feb1
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fe05
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x118]
inc eax
push eax
push 0
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x12c]
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov edi, edi
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je case.0x44093e.14
cmp dword [esp + 0x38], 0
je 0x43ff1a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ff1a
lea esp, [esp]
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43ff0e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
push edx
mov edx, dword [esp + 0x11c]
push 0
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43feee
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
push esi
call fcn.00412cc5
add esp, 0xc
test eax, eax
jne case.0x44093e.14
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
add esi, dword [esp + 0x28]
inc dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x11c]
push eax
mov eax, dword [esp + 0x128]
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x43ff8f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x12c]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
jmp 0x44004e
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
movzx ecx, byte [edx + eax]
inc esi
cmp dword [esp + 0x20], ecx
jne case.0x44093e.14
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
inc dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x11c]
push 0
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x44004e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x120]
inc eax
push eax
push 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x12c]
push eax
push ecx
push edi
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x12c]
push edx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], eax
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x20], ecx
jne case.0x44093e.14
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
inc dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x11c]
push 0
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x4400fe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x118]
inc eax
push eax
push 0
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x12c]
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
cmp dword [esp + 0x38], 0
je 0x44027d
test eax, eax
jne 0x440a8c
lea esp, [esp]
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x440222
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x480670]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [eax*4 + 0x480654]
and edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x3c], ecx
test eax, eax
jle 0x440222
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x3c], ecx
test eax, eax
jg 0x4401ff
cmp ecx, 0x100
jae 0x440231
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
cmp dword [esp + 0x20], ecx
je case.0x44093e.14
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
inc dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x11c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x4401ae
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
test eax, eax
jne 0x440a8c
jmp 0x44028e
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx eax, byte [esi]
mov ecx, dword [edi + 0x24]
movzx edx, byte [eax + ecx]
inc esi
cmp dword [esp + 0x20], edx
je case.0x44093e.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
push edx
push edi
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x44028e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc eax
push eax
push 0
push ecx
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
cmp dword [esp + 0x38], 0
je 0x4403fe
test eax, eax
jne 0x440a8c
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x4403b2
mov edx, ecx
and edx, 0x3f
movzx eax, byte [edx + 0x480670]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x14], edx
mov edx, dword [eax*4 + 0x480654]
and edx, ecx
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x3c], ecx
test eax, eax
jle 0x4403b2
movzx edx, byte [esi]
mov ecx, dword [esp + 0x14]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x3c], ecx
test eax, eax
jg 0x44038f
cmp dword [esp + 0x20], ecx
je case.0x44093e.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
push edx
push edi
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x44033e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
test eax, eax
jne 0x440a8c
jmp 0x44040e
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x44093e.14
cmp esi, dword [edi + 0x5c]
jae case.0x44093e.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x20], edx
je case.0x44093e.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
push edx
push edi
push eax
push ebx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x44040e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], ebx
je 0x44086b
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
inc eax
push eax
push 0
push ecx
mov ecx, dword [esp + 0x120]
push edx
push edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x12c]
push eax
push ecx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
cmp ebx, dword [esp + 0x18]
jge case.0x44093e.14
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae case.0x44093e.14
cmp dword [esp + 0x24], 0xc
jne 0x440538
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x440513
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne case.0x44093e.14
jmp 0x440538
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x440538
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x440538
cmp ecx, 1
je case.0x44093e.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44093e.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x440589
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x480670]
mov ebx, dword [edx*4 + 0x480654]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x440589
jmp 0x440572
mov ecx, dword [esp + 0x30]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x30], ecx
or eax, ebx
test edx, edx
jg 0x44056e
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x440924.15
jmp dword [ecx*4 + 0x440de2]
cmp eax, 0xd
ja 0x4405d9
je 0x4405c1
cmp eax, 0xa
je case.0x440599.12
jbe case.0x44093e.14
cmp eax, 0xc
ja case.0x44093e.14
jmp 0x4405f6
cmp esi, dword [edi + 0x5c]
jae case.0x440599.12
cmp byte [esi], 0xa
jne case.0x440599.12
inc esi
jmp case.0x440599.12
cmp eax, 0x85
je 0x4405f6
cmp eax, 0x2027
jbe case.0x44093e.14
cmp eax, 0x2029
ja case.0x44093e.14
cmp dword [edi + 0x50], 0
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x180e
ja 0x440646
je case.0x44093e.14
cmp eax, 0xa0
ja 0x440636
je case.0x44093e.14
cmp eax, 9
je case.0x44093e.14
cmp eax, 0x20
je case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x1680
je case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x205f
ja 0x440679
je case.0x44093e.14
cmp eax, 0x2000
jb case.0x440599.12
cmp eax, 0x200a
jbe case.0x44093e.14
cmp eax, 0x202f
je case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x3000
je case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x180e
ja 0x4406ca
je case.0x440599.12
cmp eax, 0xa0
ja 0x4406ba
je case.0x440599.12
cmp eax, 9
je case.0x440599.12
cmp eax, 0x20
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x1680
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x205f
ja 0x4406fd
je case.0x440599.12
cmp eax, 0x2000
jb case.0x44093e.14
cmp eax, 0x200a
jbe case.0x440599.12
cmp eax, 0x202f
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x3000
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x85
ja 0x440731
je case.0x44093e.14
cmp eax, 0xa
jb case.0x440599.12
cmp eax, 0xd
jbe case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x2028
jb case.0x440599.12
cmp eax, 0x2029
jbe case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x85
ja 0x440770
je case.0x440599.12
cmp eax, 0xa
jb case.0x44093e.14
cmp eax, 0xd
ja case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x2028
jb case.0x44093e.14
cmp eax, 0x2029
ja case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x100
jae case.0x440599.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x100
jae case.0x44093e.14
mov edx, dword [edi + 0x28]
test byte [eax + edx], 4
je case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x100
jae case.0x440599.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x100
jae case.0x44093e.14
mov edx, dword [edi + 0x28]
test byte [eax + edx], 1
je case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x100
jae case.0x440599.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x44093e.14
jmp case.0x440599.12
cmp eax, 0x100
jae case.0x44093e.14
mov edx, dword [edi + 0x28]
test byte [eax + edx], 0x10
je case.0x44093e.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x11c]
push 0
push ecx
mov ecx, dword [esp + 0x120]
push edx
push edi
push eax
push ecx
push ebp
inc ebx
push esi
mov dword [esp + 0x34], ebx
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x4404d2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ebx, dword [esp + 0x12c]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x120]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
jne 0x440a8c
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge case.0x44093e.14
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae case.0x44093e.14
cmp dword [esp + 0x24], 0xc
jne 0x440910
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4408eb
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433e39
add esp, 0x14
test eax, eax
jne case.0x44093e.14
jmp 0x440910
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x440910
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x440910
cmp ecx, 1
je case.0x44093e.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x44093e.14
mov ecx, dword [esp + 0x24]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x440924.15
jmp dword [ecx*4 + 0x440e22]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x44093e.14
movzx edx, byte [eax + 0x440e72]
jmp dword [edx*4 + 0x440e62]
cmp esi, dword [edi + 0x5c]
jae case.0x440924.12
cmp byte [esi], 0xa
jne case.0x440924.12
inc esi
jmp case.0x440924.12
cmp dword [edi + 0x50], 0
jne case.0x44093e.14
jmp case.0x440924.12
cmp eax, 9
je case.0x44093e.14
cmp eax, 0x20
je case.0x44093e.14
cmp eax, 0xa0
je case.0x44093e.14
jmp case.0x440924.12
cmp eax, 9
je case.0x440924.12
cmp eax, 0x20
je case.0x440924.12
cmp eax, 0xa0
jne case.0x44093e.14
jmp case.0x440924.12
cmp eax, 0xa
jb case.0x440924.12
cmp eax, 0xd
jbe case.0x44093e.14
cmp eax, 0x85
je case.0x44093e.14
jmp case.0x440924.12
cmp eax, 0xa
jb case.0x44093e.14
cmp eax, 0xd
jbe case.0x440924.12
cmp eax, 0x85
jne case.0x44093e.14
jmp case.0x440924.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jne case.0x44093e.14
jmp case.0x440924.12
mov edx, dword [edi + 0x28]
test byte [eax + edx], 4
je case.0x44093e.14
jmp case.0x440924.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x44093e.14
jmp case.0x440924.12
mov edx, dword [edi + 0x28]
test byte [eax + edx], 1
je case.0x44093e.14
jmp case.0x440924.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x44093e.14
jmp case.0x440924.12
mov edx, dword [edi + 0x28]
test byte [eax + edx], 0x10
je case.0x44093e.14
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
inc dword [esp + 0x10]
push ebx
push 0
push eax
mov eax, dword [esp + 0x120]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.0043b44e
add esp, 0x24
test eax, eax
je 0x4408a9
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret