Function at 0x43b4b8
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 0x43f5c1
mov ebp, dword [esp + 0x110]
mov esi, dword [esp + 0x10c]
mov edx, dword [esp + 0x12c]
inc dword [edi]
cmp edx, dword [edi + 8]
jae 0x43f5d3
test byte [esp + 0x128], 2
mov eax, dword [esp + 0x120]
mov dword [esp + 0x3c], eax
je 0x43b52a
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 0x43b55a
cmp esi, dword [edi + 0x5c]
jb 0x43b55a
mov ebx, dword [esp + 0x114]
cmp esi, ebx
jbe 0x43b561
mov dword [edi + 0x4c], 1
jmp 0x43b561
mov ebx, dword [esp + 0x114]
cmp edx, 0x6f
ja case.0x43b571.15
movzx ecx, byte [edx + 0x440c50]
jmp dword [ecx*4 + 0x440b34]
mov cl, byte [ebp + 3]
lea eax, [ebp + 3]
cmp cl, 0x65
jne 0x43b5ad
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 0x43b5d3
cmp eax, 0xffff
je 0x43b5a3
cmp eax, dword [ecx + 4]
jne 0x43b5d3
mov ecx, 1
lea eax, [ecx + 2]
jmp 0x43b5e2
cmp cl, 0x64
jne 0x43b5fe
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 0x43b5d3
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43b5a3
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 0x43f331
cmp byte [ebp], 0x54
je 0x43f331
add ebp, 3
jmp 0x43b52a
cmp cl, 0x66
jne 0x43b614
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
jmp 0x43b5ec
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.0043b4b8
add esp, 0x24
cmp eax, 1
je 0x43f304
test eax, eax
je 0x43b655
cmp eax, 0xfffffc1c
jne 0x440b28
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
jmp 0x43b5ec
mov ebp, dword [edi + 0x7c]
cmp ebp, eax
je 0x43f896
cmp dword [ebp + 4], eax
jne 0x43f896
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.00415e90
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 0x43b52a
movzx edx, byte [ebp + 1]
mov dword [esp + 0x120], edx
add ebp, 2
jmp 0x43b52a
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.0043b4b8
add esp, 0x24
cmp eax, 1
je 0x43b729
test eax, eax
je 0x43b714
cmp eax, 0xfffffc1c
jne 0x440b28
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43b6d8
cmp byte [ebp], 0x55
je case.0x4409da.14
test byte [esp + 0x128], 1
jne 0x43f8af
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 0x43b748
mov eax, dword [edi + 0x68]
add ebp, 3
mov dword [esp + 0x118], eax
jmp 0x43b52a
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.0043b4b8
add esp, 0x24
cmp eax, 1
je case.0x4409da.14
test eax, eax
je 0x43b7bb
cmp eax, 0xfffffc1c
jne 0x440b28
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x43b77b
test byte [esp + 0x128], 1
jne 0x43f8af
add ebp, 3
jmp 0x43b52a
cmp dword [esp + 0x38], eax
movzx eax, byte [ebp + 1]
je 0x43b830
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
jle 0x43b844
mov ecx, dword [edi + 0x58]
dec esi
dec eax
cmp esi, ecx
jb case.0x4409da.14
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43b824
lea ebx, [ebx]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43b818
test eax, eax
jg 0x43b7fe
add ebp, 3
jmp 0x43b52a
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x58]
jb case.0x4409da.14
add ebp, 3
jmp 0x43b52a
mov ecx, dword [0x49f30c]
cmp ecx, eax
je 0x43b8f6
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.0x4409da.14
jl 0x440b28
add ebp, 6
jmp 0x43b52a
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.0043b4b8
add esp, 0x24
cmp eax, 1
je 0x43b963
test eax, eax
je 0x43b94e
cmp eax, 0xfffffc1c
jne 0x440b28
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43b908
mov al, byte [ebp]
cmp al, 0x5d
je 0x43b978
cmp al, 0x54
jne case.0x4409da.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 0x43b978
cmp byte [ebp], 0x55
mov eax, dword [edi + 0x68]
mov esi, dword [edi + 0x64]
mov dword [esp + 0x118], eax
je 0x43b9aa
cmp esi, dword [esp + 0x28]
jne 0x43f45d
add ebp, 3
jmp 0x43b52a
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.0x43b571.84
jmp 0x43b52a
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x43ba0a
add ebp, 3
jmp 0x43b52a
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 0x43ba2a
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
jmp 0x43b52a
inc ebp
jmp 0x43ba88
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43ba88
add ebp, 3
jmp 0x43b52a
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 0x43bae0
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 0x43bae8
mov dword [esp + 0x28], 0
cmp al, 0x58
je 0x43faae
cmp al, 0x59
je 0x43faae
cmp al, 0x5a
je 0x43faae
cmp al, 0x5b
je 0x43faae
cmp al, 0x5d
je 0x43faae
cmp al, 0x5f
je 0x43bb1c
cmp al, 0x62
jne 0x43bbbe
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 0x43bb41
mov dword [edi + 0x2c], 1
jmp 0x43bb76
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 0x43bb76
add ecx, 2
mov dword [esp + 0x118], ecx
mov ecx, dword [edi + 0x7c]
test ecx, ecx
je 0x43bbbe
cmp dword [ecx + 4], eax
jne 0x43bbbe
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.00412990
mov edx, dword [esp + 0x48]
mov ebp, dword [ebx + 8]
add esp, 0xc
mov dword [esp + 0x120], edx
jmp 0x43b52a
cmp byte [ebp], 0x55
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x120], eax
je 0x43bbd9
cmp esi, dword [esp + 0x28]
jne 0x43f501
add ebp, 3
jmp 0x43b52a
cmp dword [edi + 0x30], eax
je 0x43bbef
cmp esi, dword [edi + 0x58]
je case.0x4409da.14
test byte [esp + 0x120], 2
je case.0x43b571.1
mov eax, dword [edi + 0x58]
cmp esi, eax
je 0x43bc67
cmp esi, dword [edi + 0x5c]
je case.0x4409da.14
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43bc3a
cmp esi, eax
jbe case.0x4409da.14
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433d6a
add esp, 0x14
test eax, eax
je case.0x4409da.14
inc ebp
jmp 0x43b52a
mov ecx, dword [edi + 0x1c]
add eax, ecx
cmp esi, eax
jb case.0x4409da.14
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x20]
jne case.0x4409da.14
cmp ecx, 1
je 0x43bc67
mov al, byte [eax + 1]
cmp al, byte [edi + 0x21]
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x58]
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
mov ecx, dword [edi + 0x70]
add ecx, dword [edi + 0x58]
cmp esi, ecx
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
mov dword [esp + 0x114], esi
inc ebp
jmp 0x43b52a
test byte [esp + 0x120], 2
je 0x43bd16
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43bd06
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43bcd7
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
je case.0x4409da.14
inc ebp
jmp 0x43b52a
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4409da.14
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x4409da.14
cmp ecx, 1
je 0x43bd10
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp dword [edi + 0x34], 0
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp dword [edi + 0x34], eax
jne case.0x4409da.14
cmp dword [edi + 0x40], eax
jne case.0x43b571.24
mov eax, dword [edi + 0x5c]
cmp esi, eax
je 0x43bd91
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43bd58
cmp esi, eax
jae case.0x4409da.14
mov edx, dword [esp + 0x38]
push edx
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
je case.0x4409da.14
jmp 0x43bd84
mov ecx, dword [edi + 0x1c]
lea ebx, [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4409da.14
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne case.0x4409da.14
cmp ecx, 1
je 0x43bd84
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
jne case.0x4409da.14
mov edx, dword [edi + 0x5c]
sub edx, dword [ebx]
cmp esi, edx
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jb case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp dword [esp + 0x38], eax
je 0x43beda
cmp esi, dword [edi + 0x58]
je 0x43be57
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
mov dword [esp + 0x14], eax
cmp cl, 0x80
jne 0x43bddb
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x43bdcb
mov dword [esp + 0x14], eax
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x43be3f
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 0x43be3f
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 0x43be18
cmp edx, 0x100
jae 0x43be57
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x43be57
mov ecx, 1
jmp 0x43be59
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp esi, dword [edi + 0x5c]
jb 0x43be69
xor eax, eax
jmp 0x43bf0b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43bec7
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 0x43bec3
jmp 0x43bea8
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 0x43bea8
mov ecx, dword [esp + 0x24]
cmp edx, 0x100
jae 0x43be62
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x43be62
jmp 0x43bf06
cmp esi, dword [edi + 0x58]
je 0x43bef3
movzx ecx, byte [esi - 1]
mov edx, dword [edi + 0x28]
test byte [ecx + edx], 0x10
je 0x43bef3
mov ecx, 1
jmp 0x43bef5
xor ecx, ecx
cmp esi, dword [edi + 0x5c]
jae 0x43bf0b
movzx edx, byte [esi]
mov ebx, dword [edi + 0x28]
test byte [edx + ebx], 0x10
je 0x43bf0b
mov eax, 1
mov dl, byte [ebp]
inc ebp
cmp dl, 5
jne 0x43bf29
cmp eax, ecx
jne 0x43b52a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, ecx
je 0x43b52a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ecx, dword [edi + 0x18]
cmp ecx, eax
je 0x43bf6a
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae case.0x43b571.13
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
jne case.0x4409da.14
jmp case.0x43b571.13
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x5c]
sub ecx, eax
cmp esi, ecx
ja case.0x43b571.13
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne case.0x43b571.13
cmp eax, 1
je case.0x4409da.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x4409da.14
mov eax, dword [edi + 0x5c]
mov ecx, esi
inc esi
cmp ecx, eax
jae case.0x4409da.14
cmp dword [esp + 0x38], 0
je 0x43bfbb
cmp esi, eax
jae 0x43bfbb
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43bfbb
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43bfab
inc ebp
jmp 0x43b52a
mov eax, esi
inc esi
cmp eax, dword [edi + 0x5c]
jae case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c033
cmp edx, 0xc0
jb 0x43c033
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 0x43c033
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 0x43c018
cmp edx, 0x100
jae 0x43c048
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c0b3
cmp edx, 0xc0
jb 0x43c0b3
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 0x43c0b3
jmp 0x43c098
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 0x43c098
cmp edx, 0x100
jae case.0x4409da.14
mov eax, dword [edi + 0x28]
test byte [edx + eax], 4
je case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c133
cmp edx, 0xc0
jb 0x43c133
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 0x43c133
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 0x43c118
cmp edx, 0x100
jae 0x43c148
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c1b3
cmp edx, 0xc0
jb 0x43c1b3
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 0x43c1b3
jmp 0x43c198
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 0x43c198
cmp edx, 0x100
jae case.0x4409da.14
mov eax, dword [edi + 0x28]
test byte [edx + eax], 1
je case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c233
cmp edx, 0xc0
jb 0x43c233
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 0x43c233
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 0x43c218
cmp edx, 0x100
jae 0x43c248
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c2b3
cmp edx, 0xc0
jb 0x43c2b3
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 0x43c2b3
jmp 0x43c298
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 0x43c298
cmp edx, 0x100
jae case.0x4409da.14
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c333
cmp eax, 0xc0
jb 0x43c333
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 0x43c333
jmp 0x43c31c
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 0x43c318
cmp eax, 0xd
ja 0x43c361
je 0x43c350
cmp eax, 0xa
je 0x43c388
jbe case.0x4409da.14
cmp eax, 0xc
ja case.0x4409da.14
jmp 0x43c37e
cmp esi, dword [edi + 0x5c]
jae 0x43c388
cmp byte [esi], 0xa
jne 0x43c388
inc esi
inc ebp
jmp 0x43b52a
cmp eax, 0x85
je 0x43c37e
cmp eax, 0x2027
jbe case.0x4409da.14
cmp eax, 0x2029
ja case.0x4409da.14
cmp dword [edi + 0x50], 0
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c3e8
cmp eax, 0xc0
jb 0x43c3e8
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 0x43c3e8
jmp 0x43c3d1
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 0x43c3cd
cmp eax, 0x180e
ja 0x43c42b
je case.0x4409da.14
cmp eax, 0xa0
ja 0x43c41a
je case.0x4409da.14
cmp eax, 9
je case.0x4409da.14
cmp eax, 0x20
je case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x1680
je case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x205f
ja 0x43c45b
je case.0x4409da.14
cmp eax, 0x2000
jb 0x43c466
cmp eax, 0x200a
jbe case.0x4409da.14
cmp eax, 0x202f
je case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x3000
je case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c4c6
cmp eax, 0xc0
jb 0x43c4c6
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 0x43c4c6
jmp 0x43c4af
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 0x43c4ab
cmp eax, 0x180e
ja 0x43c4fd
je 0x43c534
cmp eax, 0xa0
ja 0x43c4ec
je 0x43c534
cmp eax, 9
je 0x43c534
cmp eax, 0x20
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x1680
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x205f
ja 0x43c529
je 0x43c534
cmp eax, 0x2000
jb case.0x4409da.14
cmp eax, 0x200a
jbe 0x43c534
cmp eax, 0x202f
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x3000
jne case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c594
cmp eax, 0xc0
jb 0x43c594
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 0x43c594
jmp 0x43c57d
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 0x43c579
cmp eax, 0x85
ja 0x43c5b5
je case.0x4409da.14
cmp eax, 0xa
jb 0x43c5c7
cmp eax, 0xd
jbe case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x2028
jb 0x43c5c7
cmp eax, 0x2029
jbe case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x38], 0
je 0x43c627
cmp eax, 0xc0
jb 0x43c627
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 0x43c627
jmp 0x43c610
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 0x43c60c
cmp eax, 0x85
ja 0x43c648
je 0x43c65e
cmp eax, 0xa
jb case.0x4409da.14
cmp eax, 0xd
ja case.0x4409da.14
inc ebp
jmp 0x43b52a
cmp eax, 0x2028
jb case.0x4409da.14
cmp eax, 0x2029
ja case.0x4409da.14
inc ebp
jmp 0x43b52a
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 0x43c696
mov ecx, dword [edi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x43c696
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x43c6a6
cmp dword [edi + 0x3c], 0
je 0x43c6a0
xor edx, edx
jmp 0x43c6a6
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.0x43c6c1
movzx ecx, byte [ecx + 0x440cc8]
jmp dword [ecx*4 + 0x440cc0]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x481000]
movsx eax, byte [eax + 0x481008]
inc ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43c73c
mov eax, accept
mov dword [esp + 0x18], eax
jmp 0x43c73c
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 0x43c735
mov eax, accept
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x28]
add ebp, 5
test edx, edx
je 0x43b52a
cmp ecx, 1
mov dword [esp + 0x10], 1
jl 0x43c797
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.00434047
add esp, 0x14
test eax, eax
je case.0x4409da.14
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jle 0x43c758
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
je 0x43b52a
cmp dword [esp + 0x2c], 0
je 0x43facb
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
jmp 0x43c7f8
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x4409da.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.00434047
add esp, 0x14
test eax, eax
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43c7f8
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.00434047
add esp, 0x14
test eax, eax
je case.0x4409da.14
add esi, ebx
jmp 0x43b52a
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.0x43c8ba
movzx edx, byte [edx + 0x440cd8]
jmp dword [edx*4 + 0x440cd0]
add ecx, 0xffffffba
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x481000]
movsx ecx, byte [ecx + 0x481008]
add ebp, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x43c948
mov dword [esp + 0x18], accept
jmp 0x43c948
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 0x43c92f
mov dword [esp + 0x18], accept
add ebp, 5
mov edx, 1
jmp 0x43c948
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 0x43ca22
cmp eax, edx
jl 0x43ca62
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x43c9d8
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 0x43c9d8
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 0x43c9ad
cmp edx, 0xff
jbe 0x43c9ed
cmp dword [esp + 0x28], 0x4e
je case.0x4409da.14
jmp 0x43ca0f
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.0x4409da.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43c95f
jmp 0x43ca62
cmp eax, edx
jl 0x43ca62
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.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.0x4409da.14
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43ca26
mov ecx, dword [esp + 0x18]
cmp eax, ecx
je 0x43b52a
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x10], eax
je 0x43fc4f
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.0043b4b8
add esp, 0x24
cmp dword [esp + 0x38], 0
je 0x43fbc7
test eax, eax
jne 0x440b28
jmp 0x43cac8
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43cb37
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 0x43cb37
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 0x43cb14
cmp eax, 0xff
jbe 0x43fb67
cmp dword [esp + 0x28], 0x4e
je case.0x4409da.14
jmp 0x43fb85
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.0x43cb7d
movzx edx, byte [edx + 0x440ce8]
jmp dword [edx*4 + 0x440ce0]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x481000]
movsx eax, byte [eax + 0x481008]
inc ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43cc00
mov eax, accept
jmp 0x43cbfc
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 0x43cbec
mov eax, accept
mov dword [esp + 0x18], eax
add ebp, 5
jmp 0x43cc00
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 0x43ccaa
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43cc7b
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 0x43cc7b
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 0x43cc58
mov eax, dword [esp + 0x34]
push eax
push ecx
call fcn.00433a86
add esp, 8
test eax, eax
je case.0x4409da.14
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jle 0x43cc11
mov eax, dword [esp + 0x18]
cmp ecx, eax
je 0x43b52a
cmp dword [esp + 0x2c], 0
je 0x43fe5f
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
jmp 0x43cd08
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43cd7c
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 0x43cd7c
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 0x43cd59
mov eax, dword [esp + 0x34]
push eax
push ecx
call fcn.00433a86
add esp, 8
test eax, eax
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43cd08
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [esp + 0x38], eax
je 0x43ce24
movzx eax, byte [ebp + 1]
inc ebp
mov ecx, 1
cmp eax, 0xc0
jb 0x43cdf6
and eax, 0x3f
movzx ecx, byte [eax + 0x480670]
inc ecx
mov edx, dword [edi + 0x5c]
sub edx, esi
cmp ecx, edx
jg case.0x4409da.14
test ecx, ecx
jle 0x43b52a
mov al, byte [ebp]
mov dl, byte [esi]
dec ecx
inc esi
inc ebp
cmp al, dl
jne case.0x4409da.14
test ecx, ecx
jg 0x43ce0b
jmp 0x43b52a
mov eax, dword [edi + 0x5c]
sub eax, esi
cmp eax, 1
jl case.0x4409da.14
mov cl, byte [esi]
inc esi
cmp byte [ebp + 1], cl
jne case.0x4409da.14
add ebp, 2
jmp 0x43b52a
cmp dword [esp + 0x38], eax
je 0x43cf67
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 0x43cebb
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 0x43ceb2
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 0x43ce97
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.0x4409da.14
cmp edx, 0x80
jae 0x43cef1
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
mov dl, byte [edx + eax]
inc esi
inc ebp
cmp byte [eax + ecx], dl
je 0x43b52a
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 0x43cf4e
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 0x43cf4e
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 0x43cf2b
add ebp, dword [esp + 0x28]
cmp edx, ecx
je 0x43b52a
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.0x4409da.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.0x4409da.14
add ebp, 2
jmp 0x43b52a
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 0x43d042
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 0x43d042
xor ecx, ecx
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], ecx
inc ebp
jmp 0x43d03d
mov ecx, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], ecx
add ebp, ecx
jmp 0x43d03d
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], ecx
add ebp, eax
jmp 0x43d042
movzx eax, byte [ebp]
sub eax, 0x1f
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x481000]
movsx eax, byte [eax + 0x481008]
inc ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43d046
mov eax, accept
mov dword [esp + 0x18], eax
cmp dword [esp + 0x38], 0
je 0x43d232
movzx edx, byte [ebp]
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x43d0e6
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 0x43d0dd
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 0x43d0aa
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.0x4409da.14
mov ecx, dword [esp + 0x28]
mov edx, 1
add ebp, ecx
cmp ecx, edx
jle 0x43d250
cmp dword [esp + 0x1c], edx
mov dword [esp + 0x10], edx
jl 0x43d146
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push esi
call fcn.00412cf5
add esp, 0xc
test eax, eax
jne case.0x4409da.14
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jle 0x43d118
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x1c], edx
je 0x43b52a
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jne 0x43ffbe
cmp eax, edx
mov dword [esp + 0x2c], esi
jge 0x43d1a4
mov eax, dword [edi + 0x5c]
sub eax, dword [esp + 0x28]
cmp esi, eax
ja 0x43d1a4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
push esi
call fcn.00412cf5
add esp, 0xc
test eax, eax
jne 0x43d1a4
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43d16f
cmp dword [esp + 0x34], 0
jne 0x43b52a
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
cmp esi, dword [esp + 0x2c]
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43d1ea
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.0x4409da.14
movzx edx, byte [ebp]
mov dword [esp + 0x20], edx
mov edx, 1
add ebp, edx
jmp 0x43d254
mov ecx, dword [esp + 0x1c]
test byte [esp + 0x120], 1
je 0x43d354
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 0x43d2ae
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.0x4409da.14
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc edx
cmp edx, ecx
mov dword [esp + 0x10], edx
jle 0x43d288
cmp ecx, eax
je 0x43b52a
cmp dword [esp + 0x2c], 0
jne 0x44006c
cmp ecx, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
jge 0x43d2f0
cmp esi, dword [edi + 0x5c]
jae 0x43d2f0
movzx edx, byte [esi]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x20], ecx
jne 0x43d2f0
mov ecx, dword [esp + 0x10]
inc ecx
inc esi
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x43d2cd
cmp dword [esp + 0x34], 0
jne 0x43b52a
cmp esi, dword [esp + 0x2c]
jb 0x43d347
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.0043b4b8
add esp, 0x24
dec esi
test eax, eax
jne 0x440b28
cmp esi, dword [esp + 0x2c]
jae 0x43d30d
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp ecx, edx
mov dword [esp + 0x10], edx
jl 0x43d37b
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x20], edx
jne case.0x4409da.14
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc edx
cmp edx, ecx
mov dword [esp + 0x10], edx
jle 0x43d35c
cmp ecx, eax
je 0x43b52a
cmp dword [esp + 0x2c], 0
jne 0x440122
cmp ecx, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
jge 0x43d3b6
cmp esi, dword [edi + 0x5c]
jae 0x43d3b6
movzx ecx, byte [esi]
cmp dword [esp + 0x20], ecx
jne 0x43d3b6
mov ecx, dword [esp + 0x10]
inc ecx
inc esi
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x43d39a
cmp dword [esp + 0x34], 0
jne 0x43b52a
cmp esi, dword [esp + 0x2c]
jb 0x43d412
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x43d3d8
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.0043b4b8
add esp, 0x24
dec esi
test eax, eax
jne 0x440b28
cmp esi, dword [esp + 0x2c]
jae 0x43d3d8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc ebp
inc esi
cmp dword [esp + 0x38], 0
je 0x43d483
cmp eax, 0xc0
jb 0x43d483
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 0x43d483
jmp 0x43d46c
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 0x43d468
test byte [esp + 0x120], 1
je 0x43d4bc
cmp eax, 0x100
jae 0x43d49b
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 0x43b52a
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 0x43b52a
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 0x43d582
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 0x43d582
mov ecx, 1
xor eax, eax
mov dword [esp + 0x34], ecx
add ebp, ecx
jmp 0x43d57d
mov eax, 1
mov dword [esp + 0x34], eax
add ebp, eax
jmp 0x43d57d
mov edx, 1
xor eax, eax
mov dword [esp + 0x34], edx
add ebp, edx
jmp 0x43d582
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 0x43d582
movzx ecx, byte [ebp]
movsx edx, byte [ecx + 0x480fdc]
sub ecx, 0x2c
movzx eax, cl
and eax, 1
inc ebp
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x481000]
mov dword [esp + 0x18], edx
test edx, edx
jne 0x43d586
mov edx, accept
mov dword [esp + 0x18], edx
mov ecx, dword [edi + 0x5c]
sub ecx, esi
cmp eax, ecx
jg case.0x4409da.14
movzx ecx, byte [ebp]
inc ebp
test byte [esp + 0x120], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], 1
je 0x43d8bf
cmp dword [esp + 0x38], 0
mov edx, dword [edi + 0x24]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x20], edx
je 0x43d66b
cmp eax, 1
jl 0x43d69a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43d63f
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 0x43d63f
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 0x43d616
cmp ecx, 0x100
jae 0x43d64e
mov edx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x20], ecx
je case.0x4409da.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43d5d1
jmp 0x43d69a
cmp eax, 1
jl 0x43d69a
jmp 0x43d678
movzx edx, byte [esi]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x20], ecx
je case.0x4409da.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43d678
mov ecx, dword [esp + 0x18]
cmp eax, ecx
je 0x43b52a
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x10], eax
jne 0x4401cb
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43d82e
cmp eax, ecx
jge 0x43d785
mov edx, 1
lea esp, [esp]
mov dword [esp + 0x14], edx
cmp esi, dword [edi + 0x5c]
jae 0x43d785
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43d756
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 0x43d74d
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 0x43d728
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x14], edx
cmp eax, 0x100
jae 0x43d764
mov edx, dword [edi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [esp + 0x20], eax
je 0x43d785
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 0x43d6d8
cmp dword [esp + 0x34], 0
jne 0x43b52a
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
inc eax
push eax
push 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x12c]
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov eax, esi
dec esi
cmp eax, dword [esp + 0x2c]
je 0x43d8b2
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43d7f4
lea ebx, [ebx]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43d7e8
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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43d7cb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, ecx
jge 0x43d85b
lea ebx, [ebx]
cmp esi, dword [edi + 0x5c]
jae 0x43d85b
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
movzx eax, byte [edx + eax]
cmp dword [esp + 0x20], eax
je 0x43d85b
mov eax, dword [esp + 0x10]
inc eax
inc esi
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x43d838
cmp dword [esp + 0x34], 0
jne 0x43b52a
cmp esi, dword [esp + 0x2c]
jb 0x43d8b2
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x1c], ecx
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43d878
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [esp + 0x38], 0
je 0x43d95e
cmp eax, 1
jl 0x43d985
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43d941
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 0x43d941
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 0x43d918
cmp dword [esp + 0x20], ecx
je case.0x4409da.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x43d8d3
jmp 0x43d981
cmp eax, 1
jl 0x43d985
jmp 0x43d968
movzx edx, byte [esi]
inc esi
cmp ecx, edx
je case.0x4409da.14
mov edx, dword [esp + 0x10]
inc edx
cmp edx, eax
mov dword [esp + 0x10], edx
jle 0x43d968
mov edx, dword [esp + 0x18]
cmp eax, edx
je 0x43b52a
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x10], eax
jne 0x440383
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43db0e
cmp eax, edx
jge 0x43da67
jmp 0x43d9b8
mov dword [esp + 0x14], 1
cmp esi, dword [edi + 0x5c]
jae 0x43da67
movzx ecx, byte [esi]
mov dword [esp + 0x24], ecx
cmp ecx, 0xc0
jb 0x43da4c
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 0x43da43
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 0x43da18
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x20], ecx
je 0x43da67
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x14]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x43d9b8
cmp dword [esp + 0x34], 0
jne 0x43b52a
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je 0x43db92
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43dad4
lea ebx, [ebx]
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43dac8
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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43daad
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, edx
jge 0x43db34
lea ebx, [ebx]
cmp esi, dword [edi + 0x5c]
jae 0x43db34
movzx ecx, byte [esi]
cmp dword [esp + 0x20], ecx
je 0x43db34
mov eax, dword [esp + 0x10]
inc eax
inc esi
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x43db18
cmp dword [esp + 0x34], 0
jne 0x43b52a
cmp esi, dword [esp + 0x2c]
jb 0x43db92
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x1c], eax
lea esp, [esp]
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43db58
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 0x43dc62
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 0x43dc62
xor ebx, ebx
mov dword [esp + 0x34], 1
inc ebp
jmp 0x43dc5a
mov ebx, 1
mov dword [esp + 0x34], ebx
add ebp, ebx
jmp 0x43dc5a
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], eax
add ebp, eax
jmp 0x43dc62
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 0x43dc62
movzx eax, byte [ebp]
movsx ebx, byte [eax + 0x480fc7]
sub eax, 0x39
movzx ecx, al
movsx eax, byte [eax + 0x481008]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x43dc62
mov dword [esp + 0x18], accept
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.0x4409da.14
test ebx, ebx
jle 0x43e6f4
add ecx, 0xfffffffa
cmp dword [esp + 0x38], 0
je 0x43e412
cmp ecx, 0xf
ja case.0x4409c0.15
jmp dword [ecx*4 + 0x440cf0]
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e6f4
cmp esi, eax
jae case.0x4409da.14
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43dce9
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.00433ebb
add esp, 0x14
test eax, eax
jne case.0x4409da.14
lea edx, [eax + 1]
jmp 0x43dd0d
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43dd0d
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43dd0d
cmp ecx, edx
je case.0x4409da.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x4409da.14
mov eax, dword [edi + 0x5c]
add esi, edx
mov dword [esp + 0x28], eax
cmp esi, eax
jae 0x43dd2b
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43dd2b
add esi, edx
cmp esi, dword [edi + 0x5c]
jb 0x43dd1a
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43dcb5
jmp 0x43e6f4
mov ecx, 1
cmp ebx, ecx
jl 0x43e6f4
cmp esi, eax
jae case.0x4409da.14
inc esi
cmp esi, eax
jae 0x43dd6c
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43dd6c
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43dd5c
inc ecx
cmp ecx, ebx
jle 0x43dd4f
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
jmp 0x43dd8d
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43dded
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 0x43dded
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 0x43ddca
cmp eax, 0xd
ja 0x43de18
je 0x43de0a
cmp eax, 0xa
je 0x43de3f
jbe case.0x4409da.14
cmp eax, 0xc
ja case.0x4409da.14
jmp 0x43de35
cmp esi, dword [esp + 0x28]
jae 0x43de3f
cmp byte [esi], 0xa
jne 0x43de3f
inc esi
jmp 0x43de3f
cmp eax, 0x85
je 0x43de35
cmp eax, 0x2027
jbe case.0x4409da.14
cmp eax, 0x2029
ja case.0x4409da.14
cmp dword [edi + 0x50], 0
jne case.0x4409da.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43dd89
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
jmp 0x43de6c
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43decc
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 0x43decc
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 0x43dea9
cmp eax, 0x180e
ja 0x43df07
je case.0x4409da.14
cmp eax, 0xa0
ja 0x43defa
je case.0x4409da.14
cmp eax, 9
je case.0x4409da.14
cmp eax, 0x20
je case.0x4409da.14
jmp 0x43df3e
cmp eax, 0x1680
je case.0x4409da.14
jmp 0x43df3e
cmp eax, 0x205f
ja 0x43df33
je case.0x4409da.14
cmp eax, 0x2000
jb 0x43df3e
cmp eax, 0x200a
jbe case.0x4409da.14
cmp eax, 0x202f
je case.0x4409da.14
jmp 0x43df3e
cmp eax, 0x3000
je case.0x4409da.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43de68
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
jmp 0x43df6c
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43dfcc
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 0x43dfcc
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 0x43dfa9
cmp eax, 0x180e
ja 0x43dffb
je 0x43e02e
cmp eax, 0xa0
ja 0x43dfee
je 0x43e02e
cmp eax, 9
je 0x43e02e
cmp eax, 0x20
jne case.0x4409da.14
jmp 0x43e02e
cmp eax, 0x1680
jne case.0x4409da.14
jmp 0x43e02e
cmp eax, 0x205f
ja 0x43e023
je 0x43e02e
cmp eax, 0x2000
jb case.0x4409da.14
cmp eax, 0x200a
jbe 0x43e02e
cmp eax, 0x202f
jne case.0x4409da.14
jmp 0x43e02e
cmp eax, 0x3000
jne case.0x4409da.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43df68
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
jmp 0x43e05c
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e0bc
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 0x43e0bc
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 0x43e099
cmp eax, 0x85
ja 0x43e0d9
je case.0x4409da.14
cmp eax, 0xa
jb 0x43e0eb
cmp eax, 0xd
jbe case.0x4409da.14
jmp 0x43e0eb
cmp eax, 0x2028
jb 0x43e0eb
cmp eax, 0x2029
jbe case.0x4409da.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43e058
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
jmp 0x43e11c
mov eax, dword [esp + 0x28]
cmp esi, eax
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43e17c
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 0x43e17c
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 0x43e159
cmp eax, 0x85
ja 0x43e199
je 0x43e1af
cmp eax, 0xa
jb case.0x4409da.14
cmp eax, 0xd
ja case.0x4409da.14
jmp 0x43e1af
cmp eax, 0x2028
jb case.0x4409da.14
cmp eax, 0x2029
ja case.0x4409da.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43e118
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e6f4
jmp 0x43e1e1
mov eax, dword [esp + 0x28]
mov edx, 1
cmp esi, eax
jae case.0x4409da.14
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43e24b
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 0x43e24b
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 0x43e228
cmp ecx, 0x80
jae 0x43e260
mov eax, dword [edi + 0x28]
test byte [ecx + eax], 4
jne case.0x4409da.14
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43e1d8
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
nop
cmp esi, eax
jae case.0x4409da.14
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x4409da.14
mov edx, dword [edi + 0x28]
movzx ecx, cl
mov cl, byte [ecx + edx]
and cl, 4
inc esi
test cl, cl
je case.0x4409da.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e288
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e6f4
jmp 0x43e2d8
cmp esi, eax
jae case.0x4409da.14
mov cl, byte [esi]
cmp cl, 0x80
jae 0x43e2fc
movzx edx, cl
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne case.0x4409da.14
mov edx, 1
add esi, edx
cmp esi, eax
jae 0x43e30c
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
je 0x43e2fc
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e2d8
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
cmp esi, eax
jae case.0x4409da.14
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x4409da.14
movzx edx, cl
mov ecx, dword [edi + 0x28]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x4409da.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e330
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e6f4
cmp esi, eax
jae case.0x4409da.14
mov cl, byte [esi]
cmp cl, 0x80
jae 0x43e39f
mov edx, dword [edi + 0x28]
movzx ecx, cl
test byte [ecx + edx], 0x10
jne case.0x4409da.14
mov edx, 1
add esi, edx
cmp esi, eax
jae 0x43e3af
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
je 0x43e39f
mov ecx, dword [esp + 0x10]
add ecx, edx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e37b
jmp 0x43e6f4
cmp ebx, 1
mov dword [esp + 0x10], 1
jl 0x43e6f4
jmp 0x43e3d8
cmp esi, eax
jae case.0x4409da.14
mov cl, byte [esi]
cmp cl, 0x80
jae case.0x4409da.14
movzx edx, cl
mov ecx, dword [edi + 0x28]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x4409da.14
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, ebx
mov dword [esp + 0x10], ecx
jle 0x43e3d8
jmp 0x43e6f4
cmp ecx, 0xf
ja case.0x4409c0.15
jmp dword [ecx*4 + 0x440d30]
mov edx, 1
cmp ebx, edx
mov dword [esp + 0x10], edx
jl 0x43e6f4
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e45f
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43e486
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
jne case.0x4409da.14
lea edx, [eax + 1]
jmp 0x43e486
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x5c]
sub ecx, eax
cmp esi, ecx
ja 0x43e486
mov cl, byte [esi]
cmp cl, byte [edi + 0x20]
jne 0x43e486
cmp eax, edx
je case.0x4409da.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
je case.0x4409da.14
mov eax, dword [esp + 0x10]
add eax, edx
add esi, edx
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x43e433
jmp 0x43e6f4
add esi, ebx
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
jl 0x43e6f4
cmp esi, eax
jae case.0x4409da.14
movzx ecx, byte [esi]
sub ecx, 0xa
inc esi
cmp ecx, 0x7b
ja case.0x4409da.14
movzx ecx, byte [ecx + 0x440d80]
jmp dword [ecx*4 + 0x440d70]
cmp esi, eax
jae case.0x43e4ce.10
cmp byte [esi], 0xa
jne case.0x43e4ce.10
inc esi
jmp case.0x43e4ce.10
cmp dword [edi + 0x50], 0
jne case.0x4409da.14
inc edx
cmp edx, ebx
jle 0x43e4af
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
jl 0x43e6f4
lea ebx, [ebx]
cmp esi, eax
jae case.0x4409da.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je case.0x4409da.14
cmp ecx, 0x20
je case.0x4409da.14
cmp ecx, 0xa0
je case.0x4409da.14
inc edx
cmp edx, ebx
jle 0x43e508
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
jl 0x43e6f4
cmp esi, eax
jae case.0x4409da.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 9
je 0x43e56b
cmp ecx, 0x20
je 0x43e56b
cmp ecx, 0xa0
jne case.0x4409da.14
inc edx
cmp edx, ebx
jle 0x43e549
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
jl 0x43e6f4
lea ebx, [ebx]
cmp esi, eax
jae case.0x4409da.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl 0x43e5ae
cmp ecx, 0xd
jle case.0x4409da.14
cmp ecx, 0x85
je case.0x4409da.14
inc edx
cmp edx, ebx
jle 0x43e588
jmp 0x43e6f4
mov edx, 1
cmp ebx, edx
jl 0x43e6f4
lea ecx, [ecx]
cmp esi, eax
jae case.0x4409da.14
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xa
jl case.0x4409da.14
cmp ecx, 0xd
jle 0x43e5ee
cmp ecx, 0x85
jne case.0x4409da.14
inc edx
cmp edx, ebx
jle 0x43e5c8
jmp 0x43e6f4
mov eax, 1
cmp ebx, eax
jl 0x43e6f4
mov ecx, dword [edi + 0x28]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 4
inc esi
test dl, dl
jne case.0x4409da.14
inc eax
cmp eax, ebx
jle 0x43e608
jmp 0x43e6f4
mov eax, 1
cmp ebx, eax
jl 0x43e6f4
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.0x4409da.14
inc eax
cmp eax, ebx
jle 0x43e638
jmp 0x43e6f4
mov eax, 1
cmp ebx, eax
jl 0x43e6f4
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.0x4409da.14
inc eax
cmp eax, ebx
jle 0x43e668
jmp 0x43e6f4
mov eax, 1
cmp ebx, eax
jl 0x43e6f4
mov ecx, dword [edi + 0x28]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x4409da.14
inc eax
cmp eax, ebx
jle 0x43e68d
jmp 0x43e6f4
mov eax, 1
cmp ebx, eax
jl 0x43e6f4
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.0x4409da.14
inc eax
cmp eax, ebx
jle 0x43e6b8
jmp 0x43e6f4
mov eax, 1
cmp ebx, eax
jl 0x43e6f4
mov ecx, dword [edi + 0x28]
movzx edx, byte [esi]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x4409da.14
inc eax
cmp eax, ebx
jle 0x43e6dd
cmp ebx, dword [esp + 0x18]
je 0x43b52a
cmp dword [esp + 0x2c], 0
jne 0x44052d
mov eax, dword [esp + 0x24]
add eax, 0xfffffffa
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43efa1
cmp eax, 0xf
ja case.0x4409c0.15
jmp dword [eax*4 + 0x440dfc]
mov edx, dword [esp + 0x18]
cmp edx, 0x7fffffff
jge 0x43e7c0
cmp ebx, edx
jge 0x43eef6
nop
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43eef6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e77c
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
jne 0x43eef6
mov edx, dword [esp + 0x18]
jmp 0x43e7a1
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e7a1
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43e7a1
cmp ecx, 1
je 0x43eef6
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je 0x43eef6
inc esi
cmp esi, dword [edi + 0x5c]
jae 0x43e7b6
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e7b6
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43e7a8
inc ebx
cmp ebx, edx
jl 0x43e748
jmp 0x43eef6
cmp ebx, edx
jge 0x43eef6
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43eef6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43e7fc
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
jne 0x43eef6
mov edx, dword [esp + 0x18]
jmp 0x43e821
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43e821
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43e821
cmp ecx, 1
je 0x43eef6
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je 0x43eef6
inc esi
cmp esi, dword [edi + 0x5c]
jae 0x43e836
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e836
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43e828
inc ebx
cmp ebx, edx
jl 0x43e7c8
jmp 0x43eef6
mov ecx, dword [esp + 0x18]
cmp ecx, 0x7fffffff
jge 0x43e882
cmp ebx, ecx
jge 0x43eef6
mov eax, dword [edi + 0x5c]
nop
cmp esi, eax
jae 0x43eef6
inc esi
cmp esi, eax
jae 0x43e878
lea ecx, [ecx]
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43e878
inc esi
cmp esi, dword [edi + 0x5c]
jb 0x43e868
inc ebx
cmp ebx, ecx
jl 0x43e858
jmp 0x43eef6
mov esi, dword [edi + 0x5c]
jmp 0x43eef6
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x5c]
sub ecx, ebx
sub eax, esi
cmp ecx, eax
jbe 0x43e89b
mov ecx, eax
add esi, ecx
jmp 0x43eef6
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
jmp 0x43e8b8
mov edx, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43e91f
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 0x43e91e
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 0x43e8ff
inc edx
cmp eax, 0xd
jne 0x43e936
inc esi
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
cmp byte [esi], 0xa
jne 0x43e96a
inc esi
jmp 0x43e96a
cmp eax, 0xa
je 0x43e968
cmp dword [edi + 0x50], 0
jne 0x43eef6
cmp eax, 0xb
je 0x43e968
cmp eax, 0xc
je 0x43e968
cmp eax, 0x85
je 0x43e968
cmp eax, 0x2028
je 0x43e968
cmp eax, 0x2029
jne 0x43eef6
add esi, edx
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43e8b8
jmp 0x43eef6
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
mov edx, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43e9f7
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 0x43e9f6
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 0x43e9d7
inc edx
cmp eax, 0x180e
ja 0x43ea4f
je 0x43ea13
cmp eax, 0xa0
ja 0x43ea44
je 0x43ea13
cmp eax, 9
je 0x43ea13
cmp eax, 0x20
jne 0x43ea78
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x24], 0x12
sete al
cmp ecx, eax
je 0x43eef6
mov eax, dword [esp + 0x10]
inc eax
add esi, edx
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43e990
jmp 0x43eef6
cmp eax, 0x1680
je 0x43ea13
xor ecx, ecx
jmp 0x43ea18
cmp eax, 0x205f
ja 0x43ea71
je 0x43ea13
cmp eax, 0x2000
jb 0x43ea78
cmp eax, 0x200a
jbe 0x43ea13
cmp eax, 0x202f
je 0x43ea13
xor ecx, ecx
jmp 0x43ea18
cmp eax, 0x3000
je 0x43ea13
xor ecx, ecx
jmp 0x43ea18
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
mov edx, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43eaf1
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 0x43eaf0
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 0x43ead1
inc edx
cmp eax, 0x85
ja 0x43eb32
je 0x43eb40
cmp eax, 0xa
jb 0x43eb04
cmp eax, 0xd
jbe 0x43eb40
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x24], 0x14
sete al
cmp ecx, eax
je 0x43eef6
mov eax, dword [esp + 0x10]
inc eax
add esi, edx
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ea8a
jmp 0x43eef6
cmp eax, 0x2028
jb 0x43eb04
cmp eax, 0x2029
ja 0x43eb04
mov ecx, 1
jmp 0x43eb06
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
lea ecx, [ecx]
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ebb8
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 0x43ebb7
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 0x43eb9c
inc eax
cmp edx, 0x100
jae 0x43ebcd
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x43eef6
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43eb58
jmp 0x43eef6
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
lea ecx, [ecx]
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ec58
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 0x43ec57
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 0x43ec3c
inc eax
cmp edx, 0x100
jae 0x43eef6
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x43eef6
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ebf8
jmp 0x43eef6
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ecf9
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 0x43ecf8
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 0x43ecdd
inc eax
cmp edx, 0x100
jae 0x43ed0e
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x43eef6
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ec99
jmp 0x43eef6
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
mov edi, edi
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ed98
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 0x43ed97
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 0x43ed7c
inc eax
cmp edx, 0x100
jae 0x43eef6
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x43eef6
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ed38
jmp 0x43eef6
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ee39
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 0x43ee38
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 0x43ee1d
inc eax
cmp edx, 0x100
jae 0x43ee4e
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x43eef6
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43edd9
jmp 0x43eef6
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
jge 0x43eef6
mov edi, edi
mov eax, 1
cmp esi, dword [edi + 0x5c]
jae 0x43eef6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43eed4
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 0x43eed3
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 0x43eeb8
inc eax
cmp edx, 0x100
jae 0x43eef6
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x43eef6
add esi, eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43ee78
cmp dword [esp + 0x34], 0
jne 0x43b52a
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je 0x43f2f7
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ef64
lea esp, [esp]
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43ef58
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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43ef3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, 0xf
ja case.0x4409c0.15
jmp dword [eax*4 + 0x440e3c]
cmp ebx, dword [esp + 0x18]
jge 0x43f2a1
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae 0x43f2a1
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43efe8
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
jne 0x43f2a1
jmp 0x43f00d
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43f00d
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x43f00d
cmp ecx, 1
je 0x43f2a1
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je 0x43f2a1
inc ebx
inc esi
cmp ebx, dword [esp + 0x18]
jl 0x43efbb
jmp 0x43f2a1
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x5c]
sub ecx, ebx
sub eax, esi
cmp ecx, eax
jbe 0x43f02b
mov ecx, eax
add esi, ecx
jmp 0x43f2a1
mov edx, dword [esp + 0x18]
cmp ebx, edx
jge 0x43f2a1
mov ecx, dword [edi + 0x5c]
lea esp, [esp]
cmp esi, ecx
jae 0x43f2a1
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43f068
inc esi
cmp esi, ecx
jae 0x43f2a1
cmp byte [esi], 0xa
jne 0x43f08d
jmp 0x43f08c
cmp eax, 0xa
je 0x43f08c
cmp dword [edi + 0x50], 0
jne 0x43f2a1
cmp eax, 0xb
je 0x43f08c
cmp eax, 0xc
je 0x43f08c
cmp eax, 0x85
jne 0x43f2a1
inc esi
inc ebx
cmp ebx, edx
jl 0x43f048
jmp 0x43f2a1
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f2a1
mov edx, dword [edi + 0x5c]
mov edi, edi
cmp esi, edx
jae 0x43f2a1
movzx eax, byte [esi]
cmp eax, 9
je 0x43f2a1
cmp eax, 0x20
je 0x43f2a1
cmp eax, 0xa0
je 0x43f2a1
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f0a8
jmp 0x43f2a1
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f2a1
mov edx, dword [edi + 0x5c]
cmp esi, edx
jae 0x43f2a1
movzx eax, byte [esi]
cmp eax, 9
je 0x43f10a
cmp eax, 0x20
je 0x43f10a
cmp eax, 0xa0
jne 0x43f2a1
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f0ea
jmp 0x43f2a1
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f2a1
mov edx, dword [edi + 0x5c]
lea esp, [esp]
cmp esi, edx
jae 0x43f2a1
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f2a1
cmp eax, 0xb
je 0x43f2a1
cmp eax, 0xc
je 0x43f2a1
cmp eax, 0xd
je 0x43f2a1
cmp eax, 0x85
je 0x43f2a1
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f128
jmp 0x43f2a1
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jge 0x43f2a1
mov edx, dword [edi + 0x5c]
cmp esi, edx
jae 0x43f2a1
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43f1a6
cmp eax, 0xb
je 0x43f1a6
cmp eax, 0xc
je 0x43f1a6
cmp eax, 0xd
je 0x43f1a6
cmp eax, 0x85
jne 0x43f2a1
inc ebx
inc esi
cmp ebx, ecx
jl 0x43f17c
jmp 0x43f2a1
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f2a1
cmp esi, dword [edi + 0x5c]
jae 0x43f2a1
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x43f2a1
inc ebx
inc esi
cmp ebx, eax
jl 0x43f1bd
jmp 0x43f2a1
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f2a1
cmp esi, dword [edi + 0x5c]
jae 0x43f2a1
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x43f2a1
inc ebx
inc esi
cmp ebx, eax
jl 0x43f1ed
jmp 0x43f2a1
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f2a1
cmp esi, dword [edi + 0x5c]
jae 0x43f2a1
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x43f2a1
inc ebx
inc esi
cmp ebx, eax
jl 0x43f21d
jmp 0x43f2a1
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f2a1
lea ebx, [ebx]
cmp esi, dword [edi + 0x5c]
jae 0x43f2a1
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x43f2a1
inc ebx
inc esi
cmp ebx, eax
jl 0x43f248
jmp 0x43f2a1
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f2a1
cmp esi, dword [edi + 0x5c]
jae 0x43f2a1
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x43f2a1
inc ebx
inc esi
cmp ebx, eax
jl 0x43f269
jmp 0x43f2a1
mov eax, dword [esp + 0x18]
cmp ebx, eax
jge 0x43f2a1
cmp esi, dword [edi + 0x5c]
jae 0x43f2a1
movzx edx, byte [esi]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x43f2a1
inc ebx
inc esi
cmp ebx, eax
jl 0x43f28a
cmp dword [esp + 0x34], 0
jne 0x43b52a
cmp esi, dword [esp + 0x2c]
jb 0x43f2f7
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.0043b4b8
add esp, 0x24
dec esi
test eax, eax
jne 0x440b28
cmp esi, dword [esp + 0x2c]
jae 0x43f2ba
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 0x43f331
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x43f31c
add ebp, 3
cmp dword [esp + 0x28], 0x63
jne 0x43f5a4
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.0043b4b8
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 0x43f74e
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 0x43f443
jmp 0x43f3c8
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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43f419
cmp eax, 0xfffffc1c
jne 0x440b28
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 0x43f3c8
mov eax, dword [esp + 0x128]
test eax, eax
jne 0x43f849
movzx eax, byte [ebp]
movzx ecx, byte [eax + 0x4805b0]
add ebp, ecx
jmp 0x43f5af
cmp byte [ebp + 3], 0x19
lea ecx, [ebp + 3]
mov dword [esp + 0x14], ecx
jne 0x43f481
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 0x43f4c4
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov ebp, dword [esp + 0x34]
jmp 0x43f5a4
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov ebp, dword [esp + 0x14]
jmp 0x43f5a4
cmp byte [edx], 0x61
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
cmp byte [ebp], 0x57
mov dword [esp + 0x128], eax
jne 0x43f563
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
cmp dword [esp + 0x128], eax
jne 0x43fa6d
mov ebp, dword [esp + 0x34]
jmp 0x43f5af
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
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 0x43b4e9
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
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 0x43f7a8
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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43f7f5
cmp eax, 0xfffffc1c
jne 0x440b28
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 0x43f7a8
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.0043b4b8
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [edi + 0x44], eax
je 0x43f89f
cmp esi, ebx
je case.0x4409da.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 0x43f8e3
mov dword [esp + 0x44], 0
jmp 0x43f8f4
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 0x43f922
lea eax, [esp + 0x90]
mov dword [esp + 0x50], eax
jmp 0x43f94f
lea edx, [ecx*4]
push edx
call dword [0x48c650]
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
jne 0x43f94b
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.00412990
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.0043b4b8
add esp, 0x24
cmp eax, 1
je 0x43fa3d
test eax, eax
je 0x43f9d2
cmp eax, 0xfffffc1c
jne 0x440b28
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.00412990
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 0x43f988
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x90]
mov dword [edi + 0x7c], edx
cmp eax, ecx
je 0x43fa30
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 0x43fa5d
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.0043b4b8
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 0x43fb11
nop
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.00434047
add esp, 0x14
test eax, eax
je 0x43fb0b
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fad8
cmp esi, dword [esp + 0x2c]
jb 0x43fb5a
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
sub esi, dword [esp + 0x28]
cmp esi, dword [esp + 0x2c]
jae 0x43fb1d
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.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43cac8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
test eax, eax
jne 0x440b28
jmp 0x43fbd8
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.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.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43fbd8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp dword [esp + 0x38], 0
mov dword [esp + 0x2c], esi
je 0x43fdcc
cmp eax, ecx
jge 0x43fd2f
mov dword [esp + 0x14], 1
cmp esi, dword [edi + 0x5c]
jae 0x43fd2f
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43fcee
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 0x43fce9
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 0x43fcb8
inc edx
mov dword [esp + 0x14], edx
cmp eax, 0xff
jbe 0x43fcfe
cmp dword [esp + 0x28], 0x4e
je 0x43fd2f
jmp 0x43fd18
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 0x43fd2f
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fc66
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43fe52
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43fd92
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43fd88
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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43fd6a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
cmp eax, ecx
jge 0x43fe08
cmp esi, dword [edi + 0x5c]
jae 0x43fe02
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 0x43fe02
mov eax, dword [esp + 0x10]
inc eax
inc esi
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fdd0
cmp esi, dword [esp + 0x2c]
jb 0x43fe52
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43fe18
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 0x43ff1b
mov dword [esp + 0x14], 1
cmp esi, dword [edi + 0x5c]
jae 0x43ff1b
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43fef2
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 0x43feed
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 0x43fec8
mov edx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x34]
push ecx
push edx
call fcn.00433a86
add esp, 8
test eax, eax
je 0x43ff1b
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jl 0x43fe6f
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov edi, edi
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je case.0x4409da.14
cmp dword [esp + 0x38], 0
je 0x43ff84
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ff84
lea esp, [esp]
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43ff78
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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43ff58
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
push esi
call fcn.00412cf5
add esp, 0xc
test eax, eax
jne case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x43fff9
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
jmp 0x4400b8
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
movzx ecx, byte [edx + eax]
inc esi
cmp dword [esp + 0x20], ecx
jne case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x4400b8
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], eax
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x20], ecx
jne case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x440168
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
inc eax
cmp dword [esp + 0x38], 0
push eax
mov dword [esp + 0x20], eax
push 0
je 0x4402ed
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
lea esp, [esp]
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x44027b
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 0x44027b
lea ebx, [ebx]
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 0x440258
cmp ecx, 0x100
jae 0x44028a
mov eax, dword [edi + 0x24]
movzx ecx, byte [eax + ecx]
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
cmp dword [esp + 0x20], ecx
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x440218
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 + 0x120]
push ecx
push edx
push edi
push eax
push ebx
push ebp
push esi
call fcn.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x10], ecx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx edx, byte [esi]
mov eax, dword [edi + 0x24]
movzx ecx, byte [edx + eax]
inc esi
cmp dword [esp + 0x20], ecx
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x440319
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov eax, dword [esp + 0x12c]
inc eax
cmp dword [esp + 0x38], 0
push eax
mov dword [esp + 0x20], eax
push 0
je 0x44048e
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x120]
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x44042b
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 0x44042b
jmp 0x440408
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 0x440408
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], eax
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
cmp dword [esp + 0x20], ecx
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x4403c9
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 + 0x120]
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x10], edx
jge case.0x4409da.14
cmp esi, dword [edi + 0x5c]
jae case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x20], eax
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x4404ba
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 edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x10], ebx
je 0x440915
mov eax, dword [esp + 0x12c]
inc eax
push eax
push 0
push edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x12c]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
cmp ebx, dword [esp + 0x18]
jge case.0x4409da.14
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae case.0x4409da.14
cmp dword [esp + 0x24], 0xc
jne 0x4405e4
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4405bf
mov edx, dword [esp + 0x38]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
jne case.0x4409da.14
jmp 0x4405e4
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x4405e4
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x4405e4
cmp ecx, 1
je case.0x4409da.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x4409da.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x440633
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 0x440633
jmp 0x44061c
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 0x440618
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x4409c0.15
jmp dword [ecx*4 + 0x440e7c]
cmp eax, 0xd
ja 0x440683
je 0x44066b
cmp eax, 0xa
je case.0x440643.12
jbe case.0x4409da.14
cmp eax, 0xc
ja case.0x4409da.14
jmp 0x4406a0
cmp esi, dword [edi + 0x5c]
jae case.0x440643.12
cmp byte [esi], 0xa
jne case.0x440643.12
inc esi
jmp case.0x440643.12
cmp eax, 0x85
je 0x4406a0
cmp eax, 0x2027
jbe case.0x4409da.14
cmp eax, 0x2029
ja case.0x4409da.14
cmp dword [edi + 0x50], 0
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x180e
ja 0x4406f0
je case.0x4409da.14
cmp eax, 0xa0
ja 0x4406e0
je case.0x4409da.14
cmp eax, 9
je case.0x4409da.14
cmp eax, 0x20
je case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x1680
je case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x205f
ja 0x440723
je case.0x4409da.14
cmp eax, 0x2000
jb case.0x440643.12
cmp eax, 0x200a
jbe case.0x4409da.14
cmp eax, 0x202f
je case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x3000
je case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x180e
ja 0x440774
je case.0x440643.12
cmp eax, 0xa0
ja 0x440764
je case.0x440643.12
cmp eax, 9
je case.0x440643.12
cmp eax, 0x20
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x1680
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x205f
ja 0x4407a7
je case.0x440643.12
cmp eax, 0x2000
jb case.0x4409da.14
cmp eax, 0x200a
jbe case.0x440643.12
cmp eax, 0x202f
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x3000
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x85
ja 0x4407db
je case.0x4409da.14
cmp eax, 0xa
jb case.0x440643.12
cmp eax, 0xd
jbe case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x2028
jb case.0x440643.12
cmp eax, 0x2029
jbe case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x85
ja 0x44081a
je case.0x440643.12
cmp eax, 0xa
jb case.0x4409da.14
cmp eax, 0xd
ja case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x2028
jb case.0x4409da.14
cmp eax, 0x2029
ja case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x100
jae case.0x440643.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x100
jae case.0x4409da.14
mov edx, dword [edi + 0x28]
test byte [eax + edx], 4
je case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x100
jae case.0x440643.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x100
jae case.0x4409da.14
mov edx, dword [edi + 0x28]
test byte [eax + edx], 1
je case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x100
jae case.0x440643.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x4409da.14
jmp case.0x440643.12
cmp eax, 0x100
jae case.0x4409da.14
mov edx, dword [edi + 0x28]
test byte [eax + edx], 0x10
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x44057e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf8
ret
mov ebx, dword [esp + 0x12c]
mov eax, dword [esp + 0x120]
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.0043b4b8
add esp, 0x24
test eax, eax
jne 0x440b28
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge case.0x4409da.14
mov eax, dword [edi + 0x5c]
cmp esi, eax
jae case.0x4409da.14
cmp dword [esp + 0x24], 0xc
jne 0x4409ac
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x440987
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00433ebb
add esp, 0x14
test eax, eax
jne case.0x4409da.14
jmp 0x4409ac
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x4409ac
mov al, byte [esi]
cmp al, byte [edi + 0x20]
jne 0x4409ac
cmp ecx, 1
je case.0x4409da.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x21]
je case.0x4409da.14
mov ecx, dword [esp + 0x24]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x4409c0.15
jmp dword [ecx*4 + 0x440ebc]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4409da.14
movzx edx, byte [eax + 0x440f0c]
jmp dword [edx*4 + 0x440efc]
cmp esi, dword [edi + 0x5c]
jae case.0x4409c0.12
cmp byte [esi], 0xa
jne case.0x4409c0.12
inc esi
jmp case.0x4409c0.12
cmp dword [edi + 0x50], 0
jne case.0x4409da.14
jmp case.0x4409c0.12
cmp eax, 9
je case.0x4409da.14
cmp eax, 0x20
je case.0x4409da.14
cmp eax, 0xa0
je case.0x4409da.14
jmp case.0x4409c0.12
cmp eax, 9
je case.0x4409c0.12
cmp eax, 0x20
je case.0x4409c0.12
cmp eax, 0xa0
jne case.0x4409da.14
jmp case.0x4409c0.12
cmp eax, 0xa
jb case.0x4409c0.12
cmp eax, 0xd
jbe case.0x4409da.14
cmp eax, 0x85
je case.0x4409da.14
jmp case.0x4409c0.12
cmp eax, 0xa
jb case.0x4409da.14
cmp eax, 0xd
jbe case.0x4409c0.12
cmp eax, 0x85
jne case.0x4409da.14
jmp case.0x4409c0.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jne case.0x4409da.14
jmp case.0x4409c0.12
mov edx, dword [edi + 0x28]
test byte [eax + edx], 4
je case.0x4409da.14
jmp case.0x4409c0.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jne case.0x4409da.14
jmp case.0x4409c0.12
mov edx, dword [edi + 0x28]
test byte [eax + edx], 1
je case.0x4409da.14
jmp case.0x4409c0.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
jne case.0x4409da.14
jmp case.0x4409c0.12
mov edx, dword [edi + 0x28]
test byte [eax + edx], 0x10
je case.0x4409da.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.0043b4b8
add esp, 0x24
test eax, eax
je 0x440945
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