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

Disassembly:
sub esp, 0x128
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14c]
mov ecx, dword [edi]
mov eax, dword [edi + 0x44]
mov dword [esp + 0x30], eax
cmp ecx, dword [edi + 4]
jae 0x43d889
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x140]
mov esi, dword [esp + 0x13c]
mov edx, dword [esp + 0x15c]
inc dword [edi]
cmp edx, dword [edi + 8]
jae 0x43d89b
test byte [esp + 0x158], 2
mov eax, dword [esp + 0x150]
mov dword [esp + 0x38], eax
je 0x439317
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x154], ecx
mov cl, byte [ebp]
movzx eax, cl
xor ebx, ebx
mov edx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], edx
cmp edx, 0x72
ja case.0x43933d.15
movzx edx, byte [edx + 0x43f1d5]
jmp dword [edx*4 + 0x43f0b5]
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
cmp byte [ebp + 3], 0x53
jne 0x439412
mov ecx, dword [0x4a6cc8]
test ecx, ecx
je 0x43940f
movzx edx, byte [ebp + 4]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x64], edx
mov edx, dword [edi + 0x68]
sub edx, eax
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x144]
sub edx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], edx
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + 5]
shl eax, 8
mov dword [esp + 0x78], edx
movzx edx, byte [ebp + 6]
or eax, edx
movzx edx, byte [ebp + 8]
mov dword [esp + 0x88], eax
movzx eax, byte [ebp + 7]
shl eax, 8
or eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov edx, dword [edi + 0x94]
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x80]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], 1
mov dword [esp + 0x88], edx
call ecx
add esp, 4
test eax, eax
jg case.0x43ef51.14
jl 0x43f0a9
add ebp, 6
movzx ecx, byte [ebp + 3]
lea eax, [ebp + 3]
cmp ecx, 0x66
je 0x439603
cmp ecx, 0x67
je 0x439603
cmp ecx, 0x64
je 0x43949d
cmp ecx, 0x65
je 0x43949d
cmp ecx, 0x68
jne 0x43944e
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
jmp 0x4395f1
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x150]
inc ecx
push ecx
mov ecx, dword [esp + 0x14c]
push 1
push 0
push edx
mov edx, dword [esp + 0x154]
push edi
push ecx
push edx
push eax
push esi
call fcn.004392a5
add esp, 0x24
cmp eax, 1
je 0x43d5ef
test eax, eax
je 0x439496
cmp eax, 0xfffffc1c
jne 0x43f0a9
add ebp, ebx
jmp 0x4395f1
movzx eax, byte [ebp + 4]
movzx edx, byte [ebp + 5]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x4394c2
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x439743
mov dword [esp + 0x20], 0
cmp ecx, 0x65
jne 0x4395d7
mov ebx, dword [edi + 0x28]
xor ecx, ecx
sar eax, 1
cmp dword [edi + 0x20], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jle 0x439506
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [esp + 0x18]
je 0x439502
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
jl 0x4394e7
mov dword [esp + 0x14], ecx
cmp ecx, dword [edi + 0x20]
jge 0x4395d7
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x43956c
mov eax, dword [esp + 0x28]
sub eax, dword [edi + 0x24]
mov dword [esp + 0x28], eax
add eax, 2
push eax
lea eax, [ebx + 2]
push eax
call fcn.00414f80
add esp, 8
test eax, eax
jne 0x43956c
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x43955f
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x439743
mov dword [esp + 0x20], 0
cmp ecx, dword [edi + 0x28]
ja 0x439518
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x4395d7
lea eax, [ebx + 2]
mov dword [esp + 0x18], eax
lea esp, [esp]
add ebx, dword [edi + 0x24]
mov edx, dword [esp + 0x18]
lea ecx, [ebx + 2]
push ecx
push edx
call fcn.00414f80
add esp, 8
test eax, eax
jne 0x4395d7
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x4395c1
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x439743
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x439585
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp dword [esp + 0x20], 0
jne 0x43d61c
cmp byte [ebp], 0x54
je 0x43d61c
add ebp, 3
jmp 0x439317
mov edx, dword [edi + 0x90]
test edx, edx
jne 0x43961e
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
jmp 0x4395f1
movzx eax, byte [ebp + 4]
movzx ebx, byte [ebp + 5]
shl eax, 8
or eax, ebx
cmp eax, 0xffff
je 0x439743
cmp eax, dword [edx + 4]
je 0x439743
mov dword [esp + 0x20], 0
cmp ecx, 0x67
jne 0x4395d7
mov ebx, dword [edi + 0x28]
xor ecx, ecx
cmp dword [edi + 0x20], ecx
mov dword [esp + 0x14], ecx
jle 0x43967b
movzx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
shl ecx, 8
or ecx, edx
cmp ecx, eax
je 0x43967b
mov ecx, dword [esp + 0x14]
add ebx, dword [edi + 0x24]
inc ecx
cmp ecx, dword [edi + 0x20]
mov dword [esp + 0x14], ecx
jl 0x43965a
mov eax, dword [esp + 0x14]
cmp eax, dword [edi + 0x20]
jge 0x4395d7
mov dword [esp + 0x28], ebx
cmp ebx, dword [edi + 0x28]
jbe 0x4396dc
lea esp, [esp]
mov eax, dword [esp + 0x28]
sub eax, dword [edi + 0x24]
mov dword [esp + 0x28], eax
add eax, 2
push eax
lea eax, [ebx + 2]
push eax
call fcn.00414f80
add esp, 8
test eax, eax
jne 0x4396dc
mov eax, dword [esp + 0x28]
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or ecx, edx
mov edx, dword [edi + 0x90]
cmp ecx, dword [edx + 4]
je 0x439743
mov dword [esp + 0x20], 0
cmp eax, dword [edi + 0x28]
ja 0x439695
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jge 0x4395d7
lea eax, [ebx + 2]
mov dword [esp + 0x18], eax
add ebx, dword [edi + 0x24]
mov edx, dword [esp + 0x18]
lea ecx, [ebx + 2]
push ecx
push edx
call fcn.00414f80
add esp, 8
test eax, eax
jne 0x4395d7
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
mov edx, dword [edi + 0x90]
shl ecx, 8
or eax, ecx
cmp eax, dword [edx + 4]
je 0x439743
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [edi + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], eax
jl 0x4396f5
jmp 0x4395d7
mov dword [esp + 0x20], 1
mov eax, 3
jmp 0x4395e4
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
cmp ecx, dword [edi + 0x14]
mov dword [edi + 0x80], eax
jl 0x43977f
mov dword [edi + 0x38], 1
add ebp, 3
jmp 0x439317
mov ebx, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
sub ebx, eax
mov eax, dword [edx + ebx*4]
mov dword [edx + ecx*4], eax
mov eax, dword [edi + 0xc]
mov edx, esi
sub edx, dword [edi + 0x64]
cmp dword [esp + 0x148], ecx
mov dword [eax + ecx*4 + 4], edx
jg 0x4397ac
add ecx, 2
mov dword [esp + 0x148], ecx
add ebp, 3
jmp 0x439317
mov ebp, dword [edi + 0x90]
cmp ebp, ebx
je 0x43dbbb
cmp dword [ebp + 4], ebx
jne 0x43dbbb
mov ecx, dword [ebp]
mov dword [edi + 0x90], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [edi + 0xc]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.004160d0
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x44]
mov ebp, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x148], edx
mov dword [esp + 0x144], eax
mov dword [esp + 0x150], ecx
jmp 0x439317
movzx edx, byte [ebp + 1]
mov dword [esp + 0x150], edx
add ebp, 2
jmp 0x439317
mov ebx, dword [esp + 0x15c]
inc ebx
lea esp, [esp]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
push ebx
push 0
push 0
push eax
push edi
push ecx
push edx
lea eax, [ebp + 3]
push eax
push esi
call fcn.004392a5
add esp, 0x24
cmp eax, 1
je 0x439889
test eax, eax
je 0x439874
cmp eax, 0xfffffc1c
jne 0x43f0a9
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x439835
cmp byte [ebp], 0x55
je case.0x43ef51.14
test byte [esp + 0x158], 1
jne 0x43dbf5
lea esp, [esp]
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x4398a5
mov edx, dword [edi + 0x7c]
add ebp, 3
mov dword [esp + 0x148], edx
jmp 0x439317
mov ebx, dword [esp + 0x15c]
inc ebx
nop
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
push ebx
push 0
push 0
push eax
push edi
push ecx
push edx
lea eax, [ebp + 3]
push eax
push esi
call fcn.004392a5
add esp, 0x24
cmp eax, 1
je case.0x43ef51.14
test eax, eax
je 0x439918
cmp eax, 0xfffffc1c
jne 0x43f0a9
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x4398d5
test byte [esp + 0x158], 1
jne 0x43dbf5
add ebp, 3
jmp 0x439317
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
cmp dword [esp + 0x30], ebx
je 0x439987
or eax, ecx
jle 0x439994
mov ecx, dword [edi + 0x64]
dec esi
dec eax
cmp esi, ecx
jb case.0x43ef51.14
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x439981
lea ebx, [ebx]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x439975
cmp eax, ebx
jg 0x43995b
jmp 0x439994
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x64]
jb case.0x43ef51.14
cmp esi, dword [edi + 0x74]
jae 0x43999c
mov dword [edi + 0x74], esi
add ebp, 3
jmp 0x439317
mov ecx, dword [0x4a6cc8]
cmp ecx, ebx
je 0x439a73
movzx edx, byte [ebp + 1]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x94], edx
mov edx, dword [edi + 0x68]
sub edx, eax
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x144]
sub edx, eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa4], edx
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + 2]
shl eax, 8
mov dword [esp + 0xa8], edx
movzx edx, byte [ebp + 3]
or eax, edx
movzx edx, byte [ebp + 5]
mov dword [esp + 0xb8], eax
movzx eax, byte [ebp + 4]
shl eax, 8
or eax, edx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov edx, dword [edi + 0x94]
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [edi + 0x80]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x90]
push eax
mov dword [esp + 0x94], 1
mov dword [esp + 0xb8], edx
call ecx
add esp, 4
test eax, eax
jg case.0x43ef51.14
jl 0x43f0a9
add ebp, 6
jmp 0x439317
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], esi
jmp 0x439a95
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push 0
push ebx
push ecx
push edi
push edx
push eax
lea ecx, [ebp + 3]
push ecx
push esi
call fcn.004392a5
add esp, 0x24
cmp eax, 1
je 0x439af0
test eax, eax
je 0x439adb
cmp eax, 0xfffffc1c
jne 0x43f0a9
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x439a95
mov al, byte [ebp]
cmp al, 0x5d
je 0x439b05
cmp al, 0x54
jne case.0x43ef51.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 0x439b05
cmp byte [ebp], 0x55
mov eax, dword [edi + 0x7c]
mov esi, dword [edi + 0x70]
mov dword [esp + 0x148], eax
je 0x439b37
cmp esi, dword [esp + 0x28]
jne 0x43d71a
add ebp, 3
jmp 0x439317
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.0x43933d.84
jmp 0x439317
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
inc edx
push edx
mov edx, dword [esp + 0x14c]
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
inc ebp
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
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 0x439ba5
add ebp, 3
jmp 0x439317
inc ebp
mov eax, ebp
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x439bc5
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push 0
push edx
mov edx, dword [esp + 0x154]
push ecx
mov ecx, dword [esp + 0x154]
push edi
push edx
push ecx
add eax, 3
push eax
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
jmp 0x439317
inc ebp
jmp 0x439c25
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x439c25
add ebp, 3
jmp 0x439317
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
mov eax, ebp
sub eax, ecx
mov dword [esp + 0x20], eax
mov al, byte [eax]
cmp al, 0x61
jb 0x439c76
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [esp + 0x28], edx
mov dword [esp + 0x154], ebx
jmp 0x439c85
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x28], 0
cmp al, 0x58
je 0x43de39
cmp al, 0x59
je 0x43de39
cmp al, 0x5a
je 0x43de39
cmp al, 0x5b
je 0x43de39
cmp al, 0x5d
je 0x43de39
cmp al, 0x5f
je 0x439cb9
cmp al, 0x62
jne 0x439d6e
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 4]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
cmp ecx, dword [edi + 0x14]
mov dword [esp + 0x2c], eax
mov dword [edi + 0x80], eax
jl 0x439ce5
mov dword [edi + 0x38], 1
jmp 0x439d16
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 + 0x64]
cmp dword [esp + 0x148], ecx
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x2c]
jg 0x439d16
add ecx, 2
mov dword [esp + 0x148], ecx
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x439d6e
cmp dword [ecx + 4], eax
jne 0x439d6e
mov ebx, ecx
mov eax, dword [ebx]
mov dword [edi + 0x90], 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 + 0x148], ecx
mov ecx, dword [edi + 0xc]
push eax
push ecx
call fcn.00410d20
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x44]
mov ebp, dword [ebx + 8]
add esp, 0xc
mov dword [esp + 0x148], edx
mov dword [esp + 0x150], eax
jmp 0x439317
cmp byte [ebp], 0x55
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x150], ecx
je 0x439d89
cmp esi, dword [esp + 0x28]
jne 0x43d7be
add ebp, 3
jmp 0x439317
cmp dword [edi + 0x3c], ebx
je 0x439d9f
cmp esi, dword [edi + 0x64]
je case.0x43ef51.14
test byte [esp + 0x150], 2
je case.0x43933d.1
mov eax, dword [edi + 0x64]
cmp esi, eax
je 0x439e17
cmp esi, dword [edi + 0x68]
je case.0x43ef51.14
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x439dea
cmp esi, eax
jbe case.0x43ef51.14
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.004317d3
add esp, 0x14
test eax, eax
je case.0x43ef51.14
inc ebp
jmp 0x439317
mov ecx, dword [edi + 0x1c]
add eax, ecx
cmp esi, eax
jb case.0x43ef51.14
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne case.0x43ef51.14
cmp ecx, 1
je 0x439e17
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x64]
jne case.0x43ef51.14
inc ebp
jmp 0x439317
mov ecx, dword [edi + 0x84]
add ecx, dword [edi + 0x64]
cmp esi, ecx
jne case.0x43ef51.14
inc ebp
jmp 0x439317
mov dword [esp + 0x144], esi
inc ebp
jmp 0x439317
test byte [esp + 0x150], 2
je 0x439ec8
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x439eb9
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x439e8a
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
je case.0x43ef51.14
inc ebp
jmp 0x439317
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x43ef51.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x43ef51.14
cmp ecx, 1
je 0x439ec2
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp dword [edi + 0x40], ebx
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp dword [edi + 0x40], ebx
jne case.0x43ef51.14
cmp dword [edi + 0x4c], ebx
jne case.0x43933d.24
mov eax, dword [edi + 0x68]
cmp esi, eax
je 0x439f43
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x439f0a
cmp esi, eax
jae case.0x43ef51.14
mov edx, dword [esp + 0x30]
push edx
lea ebx, [edi + 0x1c]
push ebx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
je case.0x43ef51.14
jmp 0x439f36
mov ecx, dword [edi + 0x1c]
lea ebx, [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x43ef51.14
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x43ef51.14
cmp ecx, 1
je 0x439f36
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne case.0x43ef51.14
mov edx, dword [edi + 0x68]
sub edx, dword [ebx]
cmp esi, edx
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jb case.0x43ef51.14
inc ebp
jmp 0x439317
cmp dword [esp + 0x30], ebx
je 0x43a09c
cmp esi, dword [edi + 0x64]
je 0x43a014
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
mov dword [esp + 0x18], eax
cmp cl, 0x80
jne 0x439f8d
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x439f7d
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x74]
jae 0x439f95
mov dword [edi + 0x74], eax
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x439ffc
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x24], edx
mov dword [esp + 0x20], ebx
jl 0x439ffc
lea ebx, [ebx]
mov edx, dword [esp + 0x18]
movzx ebx, byte [ebx + edx]
mov edx, dword [esp + 0x24]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x20]
inc ebx
cmp ebx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
jle 0x439fd5
cmp edx, 0x100
jae 0x43a014
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43a014
mov ecx, 1
jmp 0x43a016
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp esi, dword [edi + 0x68]
jb 0x43a029
mov eax, dword [edi + 0x78]
test eax, eax
jmp 0x43a0cb
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43a084
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43a080
lea ebx, [ebx]
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43a065
mov ecx, dword [esp + 0x20]
cmp edx, 0x100
jae 0x43a0e6
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je 0x43a0e6
mov eax, 1
jmp 0x43a0fa
cmp esi, dword [edi + 0x64]
jne 0x43a0a5
xor ecx, ecx
jmp 0x43a0c1
cmp esi, dword [edi + 0x74]
ja 0x43a0b0
lea ecx, [esi - 1]
mov dword [edi + 0x74], ecx
movzx eax, byte [esi - 1]
mov edx, dword [edi + 0x34]
movzx ecx, byte [eax + edx]
shr ecx, 4
and ecx, 1
cmp esi, dword [edi + 0x68]
jb 0x43a0ea
mov eax, dword [edi + 0x78]
cmp eax, ebx
je 0x43a0e6
cmp esi, dword [esp + 0x144]
jbe 0x43a0e6
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
xor eax, eax
jmp 0x43a0fa
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
movzx eax, byte [eax + edx]
shr eax, 4
and eax, 1
mov dl, byte [ebp]
inc ebp
cmp dl, 5
jne 0x43a118
cmp eax, ecx
jne 0x439317
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ecx
je 0x439317
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
je 0x43a159
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x43933d.13
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne case.0x43ef51.14
jmp case.0x43933d.13
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x68]
sub ecx, eax
cmp esi, ecx
ja case.0x43933d.13
mov dl, byte [esi]
cmp dl, byte [edi + 0x2c]
jne case.0x43933d.13
cmp eax, 1
je case.0x43ef51.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x43ef51.14
mov eax, dword [edi + 0x68]
mov ecx, esi
inc esi
cmp ecx, eax
jae 0x43de56
cmp dword [esp + 0x30], 0
je 0x43a1aa
cmp esi, eax
jae 0x43a1aa
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43a1aa
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43a19a
inc ebp
jmp 0x439317
mov eax, esi
inc esi
cmp eax, dword [edi + 0x68]
jae 0x43de8e
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43a220
cmp edx, 0xc0
jb 0x43a220
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43a220
nop
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43a205
cmp edx, 0x100
jae 0x43a235
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43a2a0
cmp edx, 0xc0
jb 0x43a2a0
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43a2a0
jmp 0x43a285
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43a285
cmp edx, 0x100
jae case.0x43ef51.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 4
je case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43a320
cmp edx, 0xc0
jb 0x43a320
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43a320
lea esp, [esp]
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43a305
cmp edx, 0x100
jae 0x43a335
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43a3a0
cmp edx, 0xc0
jb 0x43a3a0
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43a3a0
jmp 0x43a385
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43a385
cmp edx, 0x100
jae case.0x43ef51.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
je case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43a420
cmp edx, 0xc0
jb 0x43a420
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43a420
lea esp, [esp]
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43a405
cmp edx, 0x100
jae 0x43a435
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43a4a0
cmp edx, 0xc0
jb 0x43a4a0
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43a4a0
jmp 0x43a485
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43a485
cmp edx, 0x100
jae case.0x43ef51.14
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
je case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43a520
cmp eax, 0xc0
jb 0x43a520
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43a520
jmp 0x43a509
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43a505
cmp eax, 0xd
ja 0x43a54e
je 0x43a53d
cmp eax, 0xa
je 0x43a575
jbe case.0x43ef51.14
cmp eax, 0xc
ja case.0x43ef51.14
jmp 0x43a56b
cmp esi, dword [edi + 0x68]
jae 0x43a575
cmp byte [esi], 0xa
jne 0x43a575
inc esi
inc ebp
jmp 0x439317
cmp eax, 0x85
je 0x43a56b
cmp eax, 0x2027
jbe case.0x43ef51.14
cmp eax, 0x2029
ja case.0x43ef51.14
cmp dword [edi + 0x5c], 0
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43a5d4
cmp eax, 0xc0
jb 0x43a5d4
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43a5d4
jmp 0x43a5bd
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43a5b9
cmp eax, 0x180e
ja 0x43a617
je case.0x43ef51.14
cmp eax, 0xa0
ja 0x43a606
je case.0x43ef51.14
cmp eax, 9
je case.0x43ef51.14
cmp eax, 0x20
je case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x1680
je case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x205f
ja 0x43a647
je case.0x43ef51.14
cmp eax, 0x2000
jb 0x43a652
cmp eax, 0x200a
jbe case.0x43ef51.14
cmp eax, 0x202f
je case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x3000
je case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43a6b1
cmp eax, 0xc0
jb 0x43a6b1
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43a6b1
jmp 0x43a69a
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43a696
cmp eax, 0x180e
ja 0x43a6e8
je 0x43a71f
cmp eax, 0xa0
ja 0x43a6d7
je 0x43a71f
cmp eax, 9
je 0x43a71f
cmp eax, 0x20
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x1680
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x205f
ja 0x43a714
je 0x43a71f
cmp eax, 0x2000
jb case.0x43ef51.14
cmp eax, 0x200a
jbe 0x43a71f
cmp eax, 0x202f
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x3000
jne case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43a780
cmp eax, 0xc0
jb 0x43a780
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43a780
jmp 0x43a769
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43a765
cmp eax, 0x85
ja 0x43a7a1
je case.0x43ef51.14
cmp eax, 0xa
jb 0x43a7b3
cmp eax, 0xd
jbe case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x2028
jb 0x43a7b3
cmp eax, 0x2029
jbe case.0x43ef51.14
inc ebp
jmp 0x439317
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x30], ebx
je 0x43a812
cmp eax, 0xc0
jb 0x43a812
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43a812
jmp 0x43a7fb
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x18], ecx
or eax, ebx
test edx, edx
jg 0x43a7f7
cmp eax, 0x85
ja 0x43a833
je 0x43a849
cmp eax, 0xa
jb case.0x43ef51.14
cmp eax, 0xd
ja case.0x43ef51.14
inc ebp
jmp 0x439317
cmp eax, 0x2028
jb case.0x43ef51.14
cmp eax, 0x2029
ja case.0x43ef51.14
inc ebp
jmp 0x439317
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 + 0x148]
mov dword [esp + 0x24], eax
jge 0x43a881
mov ecx, dword [edi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
cmp ecx, ebx
jl 0x43a881
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x43a890
cmp dword [edi + 0x48], ebx
je 0x43a88a
xor ebx, ebx
jmp 0x43a890
mov ebx, dword [edi + 0x68]
sub ebx, esi
inc ebx
mov cl, byte [ebp]
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43a8a9
movzx edx, byte [edx + 0x43f251]
jmp dword [edx*4 + 0x43f249]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax + 0x4854f0]
movsx eax, byte [eax + 0x4854f8]
inc ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43a91d
mov dword [esp + 0x1c], accept
jmp 0x43a91d
movzx eax, byte [ebp + 1]
xor edx, edx
cmp cl, 0x4d
movzx ecx, byte [ebp + 2]
sete dl
shl eax, 8
or eax, ecx
mov dword [esp + 0x20], eax
movzx eax, byte [ebp + 3]
mov dword [esp + 0x2c], edx
movzx edx, byte [ebp + 4]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
jne 0x43a91a
mov dword [esp + 0x1c], accept
add ebp, 5
test ebx, ebx
je 0x439317
mov eax, dword [esp + 0x20]
cmp eax, 1
mov dword [esp + 0x14], 1
jl 0x43a96b
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.00431ab0
add esp, 0x14
test eax, eax
je 0x43df64
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
jle 0x43a936
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x439317
cmp dword [esp + 0x2c], 0
je 0x43de95
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x15c]
inc eax
push eax
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
jmp 0x43a9d5
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], edx
jge case.0x43ef51.14
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
push esi
push ecx
call fcn.00431ab0
add esp, 0x14
test eax, eax
je 0x43df64
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
inc dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14c]
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
add esi, ebx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43a9d5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x24]
push edx
push edi
push ebx
push esi
push eax
call fcn.00431ab0
add esp, 0x14
test eax, eax
je 0x43df64
add esi, ebx
jmp 0x439317
mov al, byte [ebp + 0x21]
lea ecx, [ebp + 1]
add ebp, 0x21
mov dword [esp + 0x20], ecx
movzx ecx, al
lea edx, [ecx - 0x46]
cmp edx, 7
ja case.default.0x43aa90
movzx edx, byte [edx + 0x43f261]
jmp dword [edx*4 + 0x43f259]
add ecx, 0xffffffba
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x4854f0]
movsx ecx, byte [ecx + 0x4854f8]
add ebp, edx
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x43ab12
mov dword [esp + 0x1c], accept
jmp 0x43ab12
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 + 0x2c], ecx
movzx ecx, byte [ebp + 3]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x1c], ecx
jne 0x43aafd
mov dword [esp + 0x1c], accept
add ebp, 5
mov edx, 1
jmp 0x43ab12
mov edx, 1
mov dword [esp + 0x1c], edx
mov eax, edx
cmp dword [esp + 0x30], 0
mov dword [esp + 0x14], edx
je 0x43abd1
cmp eax, edx
jl 0x43ac0d
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x43ab8b
mov ecx, edx
and ecx, 0x3f
movzx ebx, byte [ecx + 0x484a58]
lea ecx, [ebx + ebx*2]
add ecx, ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx*4 + 0x484a40]
and ecx, edx
mov edx, ecx
mov ecx, dword [esp + 0x28]
shl edx, cl
test ebx, ebx
jle 0x43ab8b
mov ecx, dword [esp + 0x28]
dec ebx
mov dword [esp + 0x18], ebx
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
inc esi
mov dword [esp + 0x28], ecx
or edx, ebx
mov ebx, dword [esp + 0x18]
test ebx, ebx
jg 0x43ab68
cmp edx, 0xff
jbe 0x43aba0
cmp dword [esp + 0x24], 0x4e
je case.0x43ef51.14
jmp 0x43abbe
mov ecx, edx
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, bl
je case.0x43ef51.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43ab29
jmp 0x43ac0d
cmp eax, edx
jl 0x43ac0d
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx edx, byte [esi]
mov ecx, edx
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
inc esi
test dl, bl
je case.0x43ef51.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43abd5
mov ebx, dword [esp + 0x1c]
cmp eax, ebx
je 0x439317
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], eax
je 0x43e0e5
cmp dword [esp + 0x30], 0
je 0x43e02d
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
inc eax
push eax
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push edi
push edx
push ebx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43e01b
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43dfa0
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43dfa0
jmp 0x43df89
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
lea eax, [ebp + 3]
add ebp, ecx
mov cl, byte [ebp]
mov dword [esp + 0x20], eax
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43acf1
movzx edx, byte [edx + 0x43f271]
jmp dword [edx*4 + 0x43f269]
movsx ebx, byte [eax + 0x4854aa]
add eax, 0xffffffba
movzx ecx, al
movsx eax, byte [eax + 0x4854f8]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43ad68
mov dword [esp + 0x1c], accept
jmp 0x43ad68
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 4]
xor eax, eax
cmp cl, 0x4d
movzx ecx, byte [ebp + 2]
sete al
shl ebx, 8
or ebx, ecx
mov dword [esp + 0x2c], eax
movzx eax, byte [ebp + 3]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
jne 0x43ad5a
mov dword [esp + 0x1c], accept
add ebp, 5
jmp 0x43ad68
mov ebx, 1
mov dword [esp + 0x1c], ebx
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43ae0f
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43ade8
cmp ecx, 0xc0
jb 0x43ade8
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x28], edx
mov edx, dword [eax*4 + 0x484a40]
and edx, ecx
mov ecx, dword [esp + 0x28]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x43ade8
mov edi, edi
movzx edx, byte [esi]
mov ecx, dword [esp + 0x28]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x24], ecx
test eax, eax
jg 0x43adc5
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.004314ef
add esp, 8
test eax, eax
je case.0x43ef51.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43ad79
mov eax, dword [esp + 0x1c]
cmp ebx, eax
je 0x439317
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x14], ebx
je 0x43e32f
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc eax
push eax
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
cmp ebx, dword [esp + 0x1c]
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x30], 0
je 0x43aed3
cmp edx, 0xc0
jb 0x43aed3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
lea ecx, [eax + eax*2]
and ebx, edx
add ecx, ecx
shl ebx, cl
mov edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x43aed3
movzx ebx, byte [esi]
mov edx, dword [esp + 0x24]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc esi
or edx, ebx
mov dword [esp + 0x24], edx
test eax, eax
jg 0x43aeb8
mov ecx, dword [esp + 0x20]
push ecx
push edx
call fcn.004314ef
add esp, 8
test eax, eax
je case.0x43ef51.14
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov ebx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14c]
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
inc ebx
push esi
mov dword [esp + 0x38], ebx
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43ae6c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], ebx
je 0x43af88
movzx eax, byte [ebp + 1]
inc ebp
mov ecx, 1
cmp eax, 0xc0
jb 0x43af59
and eax, 0x3f
movzx ecx, byte [eax + 0x484a58]
inc ecx
mov edx, dword [edi + 0x68]
sub edx, esi
cmp ecx, edx
jg 0x43e49e
cmp ecx, ebx
jle 0x439317
mov al, byte [ebp]
mov dl, byte [esi]
dec ecx
inc esi
inc ebp
cmp al, dl
jne case.0x43ef51.14
cmp ecx, ebx
jle 0x439317
jmp 0x43af6e
mov eax, dword [edi + 0x68]
sub eax, esi
cmp eax, 1
jl 0x43de8e
mov cl, byte [esi]
inc esi
cmp byte [ebp + 1], cl
jne case.0x43ef51.14
add ebp, 2
jmp 0x439317
cmp dword [esp + 0x30], ebx
je 0x43b0d1
movzx ecx, byte [ebp + 1]
inc ebp
mov edx, ecx
mov eax, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
cmp edx, 0xc0
jb 0x43b01f
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43b016
movzx ebx, byte [ebx + ebp]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43affb
mov ecx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x20], eax
mov ebx, dword [edi + 0x68]
sub ebx, esi
cmp eax, ebx
jg 0x43df64
cmp edx, 0x80
jae 0x43b055
movzx edx, byte [esi]
mov eax, dword [edi + 0x30]
mov dl, byte [edx + eax]
inc esi
inc ebp
cmp byte [ecx + eax], dl
je 0x439317
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43b0b8
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
lea ebx, [eax + eax*2]
add ebx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [eax*4 + 0x484a40]
and ebx, ecx
mov ecx, dword [esp + 0x28]
shl ebx, cl
mov ecx, ebx
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x43b0b8
lea ebx, [ebx]
movzx ebx, byte [esi]
mov ecx, dword [esp + 0x28]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
dec eax
or ecx, ebx
inc esi
mov dword [esp + 0x18], ecx
test eax, eax
jg 0x43b095
add ebp, dword [esp + 0x20]
cmp edx, ecx
je 0x439317
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [edi + 0x68]
sub ecx, esi
cmp ecx, 1
jl 0x43de8e
movzx ecx, byte [esi]
mov eax, dword [edi + 0x30]
movzx edx, byte [ebp + 1]
mov cl, byte [ecx + eax]
inc esi
cmp byte [edx + eax], cl
jne case.0x43ef51.14
add ebp, 2
jmp 0x439317
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ebx, 8
or ebx, edx
mov dword [esp + 0x1c], ebx
add ebp, 3
jmp 0x43b19f
mov eax, 1
mov dword [esp + 0x28], eax
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
xor eax, eax
xor ebx, ebx
cmp cl, 0x26
sete al
add ebp, 3
mov dword [esp + 0x2c], eax
jmp 0x43b19f
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43b197
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43b197
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43b19f
movsx ebx, byte [eax + 0x4854d1]
add eax, 0xffffffe1
movzx ecx, al
movsx eax, byte [eax + 0x4854f8]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43b19f
mov dword [esp + 0x1c], accept
cmp dword [esp + 0x30], 0
movzx eax, byte [ebp]
mov dword [esp + 0x24], eax
je 0x43b3a0
mov edx, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebp
cmp eax, 0xc0
jb 0x43b23f
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [edx*4 + 0x484a40]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x20]
shl eax, cl
mov ecx, 1
cmp edx, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
jl 0x43b23a
movzx ecx, byte [ecx + ebp]
mov edx, dword [esp + 0x20]
sub edx, 6
and ecx, 0x3f
mov dword [esp + 0x24], ecx
mov ecx, edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x24]
shl edx, cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ecx, edx
jle 0x43b205
mov dword [esp + 0x24], eax
inc edx
mov dword [esp + 0x20], edx
add ebp, edx
cmp edx, 1
jle 0x43b3a1
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x43b292
mov eax, dword [edi + 0x68]
sub eax, edx
cmp esi, eax
ja 0x43df64
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00411913
add esp, 0xc
test eax, eax
jne 0x43df64
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43b257
cmp ebx, dword [esp + 0x1c]
je 0x439317
cmp dword [esp + 0x2c], 0
jne 0x43e4b7
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43b309
lea esp, [esp]
mov eax, dword [edi + 0x68]
sub eax, dword [esp + 0x20]
cmp esi, eax
ja 0x43b2e4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00411913
add esp, 0xc
test eax, eax
jne 0x43b2e4
add esi, dword [esp + 0x20]
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x43b2b5
jmp 0x43b309
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43b309
cmp esi, dword [edi + 0x68]
jb 0x43b309
cmp esi, dword [esp + 0x144]
jbe 0x43b309
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
lea ecx, [ecx]
cmp esi, dword [esp + 0x2c]
je case.0x43ef51.14
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
sub esi, dword [esp + 0x20]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43b355
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
inc ebp
test byte [esp + 0x150], 1
je 0x43b4a3
mov ecx, dword [edi + 0x30]
movzx eax, byte [eax + ecx]
mov dword [esp + 0x24], eax
mov eax, 1
cmp ebx, eax
jl 0x43b3e3
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x43ef51.14
inc eax
cmp eax, ebx
jle 0x43b3c3
cmp ebx, dword [esp + 0x1c]
je 0x439317
cmp dword [esp + 0x2c], 0
jne 0x43e575
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
jge 0x43b440
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43b420
movzx edx, byte [esi]
movzx edx, byte [edx + ecx]
cmp dword [esp + 0x24], edx
jne 0x43b440
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43b405
jmp 0x43b440
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43b440
cmp esi, dword [esp + 0x144]
jbe 0x43b440
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
cmp esi, dword [esp + 0x2c]
jb 0x43b496
mov ebx, dword [esp + 0x15c]
inc ebx
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
dec esi
test eax, eax
jne 0x43f0a9
cmp esi, dword [esp + 0x2c]
jae 0x43b459
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, 1
cmp ebx, ecx
jl 0x43b4c6
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx edx, byte [esi]
inc esi
cmp eax, edx
jne case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43b4ac
cmp ebx, dword [esp + 0x1c]
je 0x439317
cmp dword [esp + 0x2c], 0
jne 0x43e624
mov eax, dword [esp + 0x1c]
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x43b51f
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43b4ff
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
jne 0x43b51f
inc ebx
inc esi
cmp ebx, eax
jl 0x43b4ea
jmp 0x43b51f
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43b51f
cmp esi, dword [esp + 0x144]
jbe 0x43b51f
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
cmp esi, dword [esp + 0x2c]
jb 0x43b575
mov ebx, dword [esp + 0x15c]
inc ebx
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
dec esi
test eax, eax
jne 0x43f0a9
cmp esi, dword [esp + 0x2c]
jae 0x43b538
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp esi, dword [edi + 0x68]
jae 0x43de8e
movzx eax, byte [esi]
inc ebp
inc esi
cmp dword [esp + 0x30], ebx
je 0x43b5e0
cmp eax, 0xc0
jb 0x43b5e0
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43b5e0
jmp 0x43b5c9
mov ecx, dword [esp + 0x34]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x34], ecx
or eax, ebx
test edx, edx
jg 0x43b5c5
test byte [esp + 0x150], 1
je 0x43b619
cmp eax, 0x100
jae 0x43b5f8
mov edx, dword [edi + 0x30]
movzx eax, byte [edx + eax]
movzx ecx, byte [ebp]
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc ebp
cmp ecx, eax
jne 0x439317
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx edx, byte [ebp]
inc ebp
cmp edx, eax
jne 0x439317
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
mov eax, ebx
add ebp, 3
jmp 0x43b6d6
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ebx, 8
or ebx, edx
xor edx, edx
xor eax, eax
cmp cl, 0x33
sete dl
add ebp, 3
mov dword [esp + 0x2c], edx
jmp 0x43b6d6
mov ecx, 1
xor eax, eax
mov dword [esp + 0x28], ecx
add ebp, ecx
jmp 0x43b6d1
mov eax, 1
mov dword [esp + 0x28], eax
add ebp, eax
jmp 0x43b6d1
mov ebx, 1
xor eax, eax
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43b6d6
movzx ebx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl ebx, 8
xor eax, eax
or ebx, ecx
mov dword [esp + 0x28], 1
add ebp, 3
jmp 0x43b6d6
lea ecx, [eax - 0x2c]
movsx ebx, byte [ecx + 0x4854f8]
movzx eax, cl
and eax, 1
inc ebp
mov dword [esp + 0x2c], eax
movsx eax, byte [ecx + 0x4854f0]
test ebx, ebx
jne 0x43b6d6
mov ebx, accept
movzx edx, byte [ebp]
inc ebp
test byte [esp + 0x150], 1
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], 1
je 0x43ba20
cmp dword [esp + 0x30], 0
mov ecx, dword [edi + 0x30]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x24], edx
je 0x43b7b7
cmp eax, 1
jl 0x43b7e7
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43b78b
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x484a58]
mov dword [esp + 0x20], edx
lea edx, [edx + edx*2]
add edx, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx*4 + 0x484a40]
and edx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, cl
cmp dword [esp + 0x20], 0
mov ecx, edx
mov dword [esp + 0x18], ecx
jle 0x43b78b
movzx edx, byte [esi]
mov ecx, dword [esp + 0x1c]
dec dword [esp + 0x20]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
inc esi
or ecx, edx
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], ecx
jg 0x43b762
cmp ecx, 0x100
jae 0x43b79a
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je case.0x43ef51.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43b714
jmp 0x43b7e7
cmp eax, 1
jl 0x43b7e7
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [esp + 0x24], ecx
je case.0x43ef51.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43b7bc
cmp eax, ebx
je 0x439317
cmp dword [esp + 0x2c], 0
jne 0x43e6cc
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43b97c
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43b8cf
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43b8b4
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43b88b
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x484a58]
lea ecx, [edx + edx*2]
mov dword [esp + 0x18], edx
mov edx, dword [edx*4 + 0x484a40]
and edx, eax
add ecx, ecx
shl edx, cl
mov dword [esp + 0x20], 1
mov eax, edx
mov edx, dword [esp + 0x18]
cmp edx, 1
mov dword [esp + 0x1c], eax
jl 0x43b88a
nop
mov eax, dword [esp + 0x20]
movzx edx, byte [eax + esi]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc eax
mov dword [esp + 0x20], eax
or dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
cmp eax, edx
jle 0x43b865
mov eax, dword [esp + 0x1c]
inc edx
cmp eax, 0x100
jae 0x43b899
mov ecx, dword [edi + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [esp + 0x24], eax
je 0x43b8cf
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43b815
jmp 0x43b8cf
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43b8cf
cmp esi, dword [esp + 0x144]
jbe 0x43b8cf
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43ba13
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43b93f
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43b935
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43b918
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43b9bd
cmp esi, dword [edi + 0x68]
jae 0x43b99d
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x24], ecx
je 0x43b9bd
inc eax
inc esi
cmp eax, ebx
jl 0x43b980
jmp 0x43b9bd
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43b9bd
cmp esi, dword [esp + 0x144]
jbe 0x43b9bd
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
cmp esi, dword [esp + 0x2c]
jb 0x43ba13
mov ebx, dword [esp + 0x15c]
inc ebx
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43b9d6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
je 0x43baca
cmp eax, 1
jl 0x43baf1
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43baaf
mov edx, ecx
and edx, 0x3f
movzx edx, byte [edx + 0x484a58]
mov dword [esp + 0x20], edx
lea edx, [edx + edx*2]
add edx, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx*4 + 0x484a40]
and edx, ecx
mov ecx, dword [esp + 0x1c]
shl edx, cl
cmp dword [esp + 0x20], 0
mov ecx, edx
mov dword [esp + 0x18], ecx
jle 0x43baab
movzx edx, byte [esi]
mov ecx, dword [esp + 0x1c]
dec dword [esp + 0x20]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
inc esi
or ecx, edx
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], ecx
jg 0x43ba82
mov edx, dword [esp + 0x24]
cmp edx, ecx
je case.0x43ef51.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43ba34
jmp 0x43baf1
cmp eax, 1
jl 0x43baf1
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
inc esi
cmp edx, ecx
je case.0x43ef51.14
mov ecx, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jle 0x43bacf
cmp eax, ebx
je 0x439317
cmp dword [esp + 0x2c], 0
jne 0x43e8a2
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43bc7d
cmp eax, ebx
mov dword [esp + 0x14], eax
jge 0x43bbd6
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43bbb6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43bb9b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
lea ecx, [eax + eax*2]
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + 0x484a40]
and eax, edx
add ecx, ecx
shl eax, cl
mov dword [esp + 0x20], 1
mov edx, eax
mov eax, dword [esp + 0x18]
cmp eax, 1
mov dword [esp + 0x1c], edx
jl 0x43bb9a
lea ebx, [ebx]
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + esi]
and eax, 0x3f
sub ecx, 6
shl eax, cl
inc edx
mov dword [esp + 0x20], edx
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
cmp edx, eax
jle 0x43bb75
mov edx, dword [esp + 0x1c]
inc eax
cmp dword [esp + 0x24], edx
je 0x43bbd6
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43bb1f
jmp 0x43bbd6
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43bbd6
cmp esi, dword [esp + 0x144]
jbe 0x43bbd6
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43bd0f
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43bc40
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43bc36
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43bc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43bcb9
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43bc99
movzx edx, byte [esi]
cmp dword [esp + 0x24], edx
je 0x43bcb9
inc eax
inc esi
cmp eax, ebx
jl 0x43bc84
jmp 0x43bcb9
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43bcb9
cmp esi, dword [esp + 0x144]
jbe 0x43bcb9
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
cmp esi, dword [esp + 0x2c]
jb 0x43bd0f
mov ebx, dword [esp + 0x15c]
inc ebx
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43bcd2
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], 1
add ebp, 3
jmp 0x43bdda
movzx eax, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
xor eax, eax
xor ebx, ebx
cmp cl, 0x40
sete al
add ebp, 3
mov dword [esp + 0x2c], eax
jmp 0x43bdda
xor ebx, ebx
mov dword [esp + 0x28], 1
inc ebp
jmp 0x43bdd2
mov ebx, 1
mov dword [esp + 0x28], ebx
add ebp, ebx
jmp 0x43bdd2
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
add ebp, eax
jmp 0x43bdda
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
xor ebx, ebx
mov dword [esp + 0x28], 1
mov dword [esp + 0x1c], eax
add ebp, 3
jmp 0x43bdda
movsx ebx, byte [eax + 0x4854b7]
add eax, 0xffffffc7
movzx ecx, al
movsx eax, byte [eax + 0x4854f8]
and ecx, 1
inc ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x43bdda
mov dword [esp + 0x1c], accept
movzx eax, byte [ebp]
mov edx, 1
add ebp, edx
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x43c8cd
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
je 0x43c56b
cmp eax, 0xf
ja case.0x43ef37.15
jmp dword [eax*4 + 0x43f279]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ea5b
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43be4e
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne case.0x43ef51.14
lea edx, [eax + 1]
jmp 0x43be72
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43be72
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43be72
cmp ecx, edx
je case.0x43ef51.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43ef51.14
add esi, edx
cmp esi, dword [edi + 0x68]
jae 0x43be88
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43be88
add esi, edx
cmp esi, dword [edi + 0x68]
jb 0x43be79
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43be1b
jmp 0x43c8cd
cmp ebx, edx
mov eax, edx
jl 0x43c8cd
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43ea5b
add esi, edx
cmp esi, ecx
jae 0x43becb
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43bec6
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43beb6
mov edx, 1
add eax, edx
cmp eax, ebx
jle 0x43bea8
jmp 0x43c8cd
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja case.0x43ef51.14
add esi, ebx
jmp 0x43c8cd
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
jmp 0x43bf0a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43bf6c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x484a40]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43bf6c
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43bf49
cmp eax, 0xd
ja 0x43bf96
je 0x43bf89
cmp eax, 0xa
je 0x43bfbd
jbe case.0x43ef51.14
cmp eax, 0xc
ja case.0x43ef51.14
jmp 0x43bfb3
cmp esi, dword [edi + 0x68]
jae 0x43bfbd
cmp byte [esi], 0xa
jne 0x43bfbd
inc esi
jmp 0x43bfbd
cmp eax, 0x85
je 0x43bfb3
cmp eax, 0x2027
jbe case.0x43ef51.14
cmp eax, 0x2029
ja case.0x43ef51.14
cmp dword [edi + 0x5c], 0
jne case.0x43ef51.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43bf05
jmp 0x43c8cd
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
jmp 0x43bfea
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43c04c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x484a40]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43c04c
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43c029
cmp eax, 0x180e
ja 0x43c087
je case.0x43ef51.14
cmp eax, 0xa0
ja 0x43c07a
je case.0x43ef51.14
cmp eax, 9
je case.0x43ef51.14
cmp eax, 0x20
je case.0x43ef51.14
jmp 0x43c0be
cmp eax, 0x1680
je case.0x43ef51.14
jmp 0x43c0be
cmp eax, 0x205f
ja 0x43c0b3
je case.0x43ef51.14
cmp eax, 0x2000
jb 0x43c0be
cmp eax, 0x200a
jbe case.0x43ef51.14
cmp eax, 0x202f
je case.0x43ef51.14
jmp 0x43c0be
cmp eax, 0x3000
je case.0x43ef51.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43bfe5
jmp 0x43c8cd
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
jmp 0x43c0ea
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43c14c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x484a40]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43c14c
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43c129
cmp eax, 0x180e
ja 0x43c17b
je 0x43c1ae
cmp eax, 0xa0
ja 0x43c16e
je 0x43c1ae
cmp eax, 9
je 0x43c1ae
cmp eax, 0x20
jne case.0x43ef51.14
jmp 0x43c1ae
cmp eax, 0x1680
jne case.0x43ef51.14
jmp 0x43c1ae
cmp eax, 0x205f
ja 0x43c1a3
je 0x43c1ae
cmp eax, 0x2000
jb case.0x43ef51.14
cmp eax, 0x200a
jbe 0x43c1ae
cmp eax, 0x202f
jne case.0x43ef51.14
jmp 0x43c1ae
cmp eax, 0x3000
jne case.0x43ef51.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43c0e5
jmp 0x43c8cd
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
jmp 0x43c1da
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43c23c
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x484a40]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43c23c
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43c219
cmp eax, 0x85
ja 0x43c259
je case.0x43ef51.14
cmp eax, 0xa
jb 0x43c26b
cmp eax, 0xd
jbe case.0x43ef51.14
jmp 0x43c26b
cmp eax, 0x2028
jb 0x43c26b
cmp eax, 0x2029
jbe case.0x43ef51.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43c1d5
jmp 0x43c8cd
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
jmp 0x43c29a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx eax, byte [esi]
add esi, edx
cmp eax, 0xc0
jb 0x43c2fc
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
lea ecx, [edx + edx*2]
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [edx*4 + 0x484a40]
and ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
test edx, edx
jle 0x43c2fc
mov ecx, dword [esp + 0x24]
dec edx
mov dword [esp + 0x34], edx
movzx edx, byte [esi]
sub ecx, 6
and edx, 0x3f
shl edx, cl
inc esi
mov dword [esp + 0x24], ecx
or eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jg 0x43c2d9
cmp eax, 0x85
ja 0x43c319
je 0x43c32f
cmp eax, 0xa
jb case.0x43ef51.14
cmp eax, 0xd
ja case.0x43ef51.14
jmp 0x43c32f
cmp eax, 0x2028
jb case.0x43ef51.14
cmp eax, 0x2029
ja case.0x43ef51.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43c295
jmp 0x43c8cd
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43c3bd
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x484a40]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x24], ecx
test eax, eax
jle 0x43c3b8
movzx edx, byte [esi]
mov ecx, dword [esp + 0x18]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x24]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x24], ecx
test eax, eax
jg 0x43c395
mov edx, 1
cmp ecx, 0x80
jae 0x43c3d2
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
jne case.0x43ef51.14
mov eax, dword [esp + 0x14]
add eax, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43c351
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
jmp 0x43c3fa
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
mov al, byte [esi]
cmp al, 0x80
jae case.0x43ef51.14
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
and dl, 4
inc esi
test dl, dl
je case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c3f5
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ea5b
mov al, byte [esi]
cmp al, 0x80
jae 0x43c45c
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 1
jne case.0x43ef51.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43c474
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43c457
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43c439
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
jmp 0x43c49a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
mov al, byte [esi]
cmp al, 0x80
jae case.0x43ef51.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 1
inc esi
test al, al
je case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c495
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
mov eax, dword [edi + 0x68]
cmp esi, eax
jae case.0x43ef51.14
mov al, byte [esi]
cmp al, 0x80
jae 0x43c4fb
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 0x10
jne case.0x43ef51.14
mov edx, 1
mov eax, dword [edi + 0x68]
add esi, edx
cmp esi, eax
jae 0x43c513
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
je 0x43c4f6
mov edx, 1
add ecx, edx
cmp ecx, ebx
jle 0x43c4d8
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
jmp 0x43c53a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
mov al, byte [esi]
cmp al, 0x80
jae case.0x43ef51.14
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
and al, 0x10
inc esi
test al, al
je case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c535
jmp 0x43c8cd
cmp eax, 0xf
ja case.0x43ef37.15
jmp dword [eax*4 + 0x43f2b9]
cmp ebx, edx
mov dword [esp + 0x14], edx
jl 0x43c8cd
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ea5b
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43c5b7
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne case.0x43ef51.14
lea edx, [eax + 1]
jmp 0x43c5db
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43c5db
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43c5db
cmp ecx, edx
je case.0x43ef51.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43ef51.14
mov eax, dword [esp + 0x14]
add eax, edx
add esi, edx
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x43c587
jmp 0x43c8cd
mov eax, dword [edi + 0x68]
sub eax, ebx
cmp esi, eax
ja 0x43ea5b
add esi, ebx
jmp 0x43c8cd
mov ecx, dword [edi + 0x68]
sub ecx, ebx
cmp esi, ecx
ja 0x43ea5b
add esi, ebx
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43de56
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x43ef51.14
movzx eax, byte [eax + 0x43f309]
jmp dword [eax*4 + 0x43f2f9]
cmp esi, edx
jae case.0x43c644.10
cmp byte [esi], 0xa
jne case.0x43c644.10
inc esi
jmp case.0x43c644.10
cmp dword [edi + 0x5c], 0
jne case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c625
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43de56
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x43ef51.14
cmp eax, 0x20
je case.0x43ef51.14
cmp eax, 0xa0
je case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c678
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43de56
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43c6d9
cmp eax, 0x20
je 0x43c6d9
cmp eax, 0xa0
jne case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c6b8
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
mov edx, dword [edi + 0x68]
jmp 0x43c6f5
cmp esi, edx
jae 0x43de56
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43c71a
cmp eax, 0xd
jle case.0x43ef51.14
cmp eax, 0x85
je case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c6f5
jmp 0x43c8cd
cmp ebx, edx
mov ecx, edx
jl 0x43c8cd
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x43de56
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x43ef51.14
cmp eax, 0xd
jle 0x43c75a
cmp eax, 0x85
jne case.0x43ef51.14
inc ecx
cmp ecx, ebx
jle 0x43c735
jmp 0x43c8cd
cmp ebx, edx
mov eax, edx
jl 0x43c8cd
jmp 0x43c77a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 4
inc esi
test cl, cl
jne case.0x43ef51.14
inc eax
cmp eax, ebx
jle 0x43c775
jmp 0x43c8cd
cmp ebx, edx
mov eax, edx
jl 0x43c8cd
jmp 0x43c7ba
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 4
inc esi
test dl, dl
je case.0x43ef51.14
inc eax
cmp eax, ebx
jle 0x43c7b5
jmp 0x43c8cd
cmp ebx, edx
mov eax, edx
jl 0x43c8cd
jmp 0x43c7fa
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 1
inc esi
test cl, cl
jne case.0x43ef51.14
inc eax
cmp eax, ebx
jle 0x43c7f5
jmp 0x43c8cd
cmp ebx, edx
mov eax, edx
jl 0x43c8cd
jmp 0x43c83a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 1
inc esi
test dl, dl
je case.0x43ef51.14
inc eax
cmp eax, ebx
jle 0x43c835
jmp 0x43c8cd
cmp ebx, edx
mov eax, edx
jl 0x43c8cd
jmp 0x43c86c
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
mov cl, byte [ecx + edx]
and cl, 0x10
inc esi
test cl, cl
jne case.0x43ef51.14
inc eax
cmp eax, ebx
jle 0x43c867
jmp 0x43c8cd
cmp ebx, edx
mov eax, edx
jl 0x43c8cd
jmp 0x43c8aa
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43ea5b
movzx edx, byte [esi]
mov ecx, dword [edi + 0x34]
mov dl, byte [edx + ecx]
and dl, 0x10
inc esi
test dl, dl
je case.0x43ef51.14
inc eax
cmp eax, ebx
jle 0x43c8a5
cmp ebx, dword [esp + 0x1c]
je 0x439317
cmp dword [esp + 0x2c], 0
jne 0x43ea8d
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43d211
cmp eax, 0xf
ja case.0x43ef37.15
jmp dword [eax*4 + 0x43f385]
mov edx, dword [esp + 0x1c]
cmp edx, 0x7fffffff
jge 0x43c99d
cmp ebx, edx
jge 0x43d16a
jmp 0x43c925
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ca72
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43c959
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne 0x43d16a
mov edx, dword [esp + 0x1c]
jmp 0x43c97e
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43c97e
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43c97e
cmp ecx, 1
je 0x43d16a
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d16a
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43c993
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43c993
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43c985
inc ebx
cmp ebx, edx
jl 0x43c925
jmp 0x43d16a
cmp ebx, edx
jge 0x43d16a
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ca72
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43c9d9
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne 0x43d16a
mov edx, dword [esp + 0x1c]
jmp 0x43c9fe
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43c9fe
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43c9fe
cmp ecx, 1
je 0x43d16a
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d16a
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43ca13
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ca13
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ca05
inc ebx
cmp ebx, edx
jl 0x43c9a5
jmp 0x43d16a
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x7fffffff
jge 0x43ca57
cmp ebx, ecx
jge 0x43d16a
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43ca72
inc esi
cmp esi, eax
jae 0x43ca4d
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43ca4d
inc esi
cmp esi, dword [edi + 0x68]
jb 0x43ca3d
inc ebx
cmp ebx, ecx
jl 0x43ca34
jmp 0x43d16a
mov esi, dword [edi + 0x68]
jmp 0x43d16a
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x43ca9f
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d16a
cmp esi, dword [esp + 0x144]
jbe 0x43d16a
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
jmp 0x43d16a
add esi, eax
jmp 0x43d16a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
nop
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43cb83
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43cb20
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x18], ebx
jl 0x43cb1f
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x18], ebx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ebx, edx
jle 0x43cb00
inc edx
cmp eax, 0xd
jne 0x43cb37
inc esi
cmp esi, dword [edi + 0x68]
jae 0x43d16a
cmp byte [esi], 0xa
jne 0x43cb6b
inc esi
jmp 0x43cb6b
cmp eax, 0xa
je 0x43cb69
cmp dword [edi + 0x5c], 0
jne 0x43d16a
cmp eax, 0xb
je 0x43cb69
cmp eax, 0xc
je 0x43cb69
cmp eax, 0x85
je 0x43cb69
cmp eax, 0x2028
je 0x43cb69
cmp eax, 0x2029
jne 0x43d16a
add esi, edx
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43cab5
jmp 0x43d16a
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d16a
cmp esi, dword [esp + 0x144]
jbe 0x43d16a
cmp eax, edx
mov dword [edi + 0x58], edx
jg 0x43de7e
jmp 0x43d16a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43cb83
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43cc20
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x18], ebx
jl 0x43cc1f
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x18], ebx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ebx, edx
jle 0x43cc00
inc edx
cmp eax, 0x180e
ja 0x43cc7c
je 0x43cc40
cmp eax, 0xa0
ja 0x43cc71
je 0x43cc40
cmp eax, 9
je 0x43cc40
cmp eax, 0x20
jne 0x43cca5
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0x12
sete al
cmp ecx, eax
je 0x43d16a
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43cbb9
jmp 0x43d16a
cmp eax, 0x1680
je 0x43cc40
xor ecx, ecx
jmp 0x43cc45
cmp eax, 0x205f
ja 0x43cc9e
je 0x43cc40
cmp eax, 0x2000
jb 0x43cca5
cmp eax, 0x200a
jbe 0x43cc40
cmp eax, 0x202f
je 0x43cc40
xor ecx, ecx
jmp 0x43cc45
cmp eax, 0x3000
je 0x43cc40
xor ecx, ecx
jmp 0x43cc45
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov edx, 1
cmp esi, dword [edi + 0x68]
jae 0x43cb83
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43cd22
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
and ebx, eax
lea ecx, [edx + edx*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], edx
mov eax, ebx
mov ebx, 1
cmp edx, ebx
mov dword [esp + 0x18], ebx
jl 0x43cd21
movzx edx, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and edx, 0x3f
sub ecx, 6
shl edx, cl
inc ebx
mov dword [esp + 0x18], ebx
or eax, edx
mov edx, dword [esp + 0x34]
cmp ebx, edx
jle 0x43cd02
inc edx
cmp eax, 0x85
ja 0x43cd63
je 0x43cd71
cmp eax, 0xa
jb 0x43cd35
cmp eax, 0xd
jbe 0x43cd71
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x20], 0x14
sete al
cmp ecx, eax
je 0x43d16a
mov eax, dword [esp + 0x14]
inc eax
add esi, edx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ccb7
jmp 0x43d16a
cmp eax, 0x2028
jb 0x43cd35
cmp eax, 0x2029
ja 0x43cd35
mov ecx, 1
jmp 0x43cd37
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ca72
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43cdf1
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43cdf0
lea esp, [esp]
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43cdd5
inc eax
cmp edx, 0x100
jae 0x43ce06
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
jne 0x43d16a
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43cd86
jmp 0x43d16a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ca72
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43ce91
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43ce90
lea ecx, [ecx]
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43ce75
inc eax
cmp edx, 0x100
jae 0x43d16a
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 4
je 0x43d16a
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ce2e
jmp 0x43d16a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ca72
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43cf32
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43cf31
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43cf16
inc eax
cmp edx, 0x100
jae 0x43cf47
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
jne 0x43d16a
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43ced2
jmp 0x43d16a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ca72
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43cfd3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43cfd2
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43cfb7
inc eax
cmp edx, 0x100
jae 0x43d16a
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 1
je 0x43d16a
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43cf6f
jmp 0x43d16a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43ca72
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43d081
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43d080
jmp 0x43d065
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43d065
inc eax
cmp edx, 0x100
jae 0x43d096
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
jne 0x43d16a
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43d014
jmp 0x43d16a
cmp ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
jge 0x43d16a
mov eax, 1
cmp esi, dword [edi + 0x68]
jae 0x43d14a
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43d122
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43d121
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43d106
inc eax
cmp edx, 0x100
jae 0x43d16a
mov ecx, dword [edi + 0x34]
test byte [edx + ecx], 0x10
je 0x43d16a
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43d0be
jmp 0x43d16a
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d16a
cmp esi, dword [esp + 0x144]
jbe 0x43d16a
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
mov ebx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je 0x43d5e2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43d1d4
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43d1c8
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43d1b3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 0xf
ja case.0x43ef37.15
jmp dword [eax*4 + 0x43f3c5]
cmp ebx, dword [esp + 0x1c]
jge 0x43d57c
jmp 0x43d235
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43d2a7
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43d262
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne 0x43d57c
jmp 0x43d287
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43d287
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43d287
cmp ecx, 1
je 0x43d57c
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x43d57c
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x43d235
jmp 0x43d57c
mov ecx, dword [edi + 0x68]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, ebx
sub edx, esi
cmp eax, edx
jbe 0x43d2d4
mov esi, ecx
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d57c
cmp esi, dword [esp + 0x144]
jbe 0x43d57c
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
jmp 0x43d57c
add esi, eax
jmp 0x43d57c
mov edx, dword [esp + 0x1c]
cmp ebx, edx
jge 0x43d57c
mov ecx, dword [edi + 0x68]
cmp esi, ecx
jae 0x43d2a7
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x43d306
inc esi
cmp esi, ecx
jae 0x43d57c
cmp byte [esi], 0xa
jne 0x43d32b
jmp 0x43d32a
cmp eax, 0xa
je 0x43d32a
cmp dword [edi + 0x5c], 0
jne 0x43d57c
cmp eax, 0xb
je 0x43d32a
cmp eax, 0xc
je 0x43d32a
cmp eax, 0x85
jne 0x43d57c
inc esi
inc ebx
cmp ebx, edx
jl 0x43d2ea
jmp 0x43d57c
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43d57c
mov edx, dword [edi + 0x68]
nop
cmp esi, edx
jae 0x43d2a7
movzx eax, byte [esi]
cmp eax, 9
je 0x43d57c
cmp eax, 0x20
je 0x43d57c
cmp eax, 0xa0
je 0x43d57c
inc ebx
inc esi
cmp ebx, ecx
jl 0x43d345
jmp 0x43d57c
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43d57c
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43d2a7
movzx eax, byte [esi]
cmp eax, 9
je 0x43d3a7
cmp eax, 0x20
je 0x43d3a7
cmp eax, 0xa0
jne 0x43d57c
inc ebx
inc esi
cmp ebx, ecx
jl 0x43d387
jmp 0x43d57c
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43d57c
mov edx, dword [edi + 0x68]
lea esp, [esp]
cmp esi, edx
jae 0x43d2a7
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43d57c
cmp eax, 0xb
je 0x43d57c
cmp eax, 0xc
je 0x43d57c
cmp eax, 0xd
je 0x43d57c
cmp eax, 0x85
je 0x43d57c
inc ebx
inc esi
cmp ebx, ecx
jl 0x43d3c5
jmp 0x43d57c
mov ecx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x43d57c
mov edx, dword [edi + 0x68]
cmp esi, edx
jae 0x43d2a7
movzx eax, byte [esi]
cmp eax, 0xa
je 0x43d443
cmp eax, 0xb
je 0x43d443
cmp eax, 0xc
je 0x43d443
cmp eax, 0xd
je 0x43d443
cmp eax, 0x85
jne 0x43d57c
inc ebx
inc esi
cmp ebx, ecx
jl 0x43d419
jmp 0x43d57c
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43d57c
cmp esi, dword [edi + 0x68]
jae 0x43d2a7
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
jne 0x43d57c
inc ebx
inc esi
cmp ebx, eax
jl 0x43d45a
jmp 0x43d57c
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43d57c
cmp esi, dword [edi + 0x68]
jae 0x43d2a7
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 4
je 0x43d57c
inc ebx
inc esi
cmp ebx, eax
jl 0x43d48a
jmp 0x43d57c
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43d57c
cmp esi, dword [edi + 0x68]
jae 0x43d2a7
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
jne 0x43d57c
inc ebx
inc esi
cmp ebx, eax
jl 0x43d4ba
jmp 0x43d57c
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43d57c
cmp esi, dword [edi + 0x68]
jae 0x43d2a7
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 1
je 0x43d57c
inc ebx
inc esi
cmp ebx, eax
jl 0x43d4ea
jmp 0x43d57c
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43d57c
cmp esi, dword [edi + 0x68]
jae 0x43d2a7
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
jne 0x43d57c
inc ebx
inc esi
cmp ebx, eax
jl 0x43d51a
jmp 0x43d57c
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jge 0x43d57c
cmp esi, dword [edi + 0x68]
jae 0x43d55c
movzx ecx, byte [esi]
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x43d57c
inc ebx
inc esi
cmp ebx, eax
jl 0x43d543
jmp 0x43d57c
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43d57c
cmp esi, dword [esp + 0x144]
jbe 0x43d57c
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp dword [esp + 0x28], 0
jne 0x439317
cmp esi, dword [esp + 0x2c]
jb 0x43d5e2
mov ebx, dword [esp + 0x15c]
inc ebx
jmp 0x43d5a5
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
dec esi
test eax, eax
jne 0x43f0a9
cmp esi, dword [esp + 0x2c]
jae 0x43d5a5
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx eax, byte [ebp + 4]
movzx ecx, byte [ebp + 5]
shl eax, 8
or eax, ecx
cmp byte [eax + ebp + 3], 0x54
lea ebp, [eax + ebp + 3]
jne 0x43d61c
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43d607
add ebp, 3
cmp dword [esp + 0x24], 0x63
je 0x43db7a
mov ebx, dword [esp + 0x154]
jmp 0x43d86c
movzx eax, byte [ebp + 3]
movzx ecx, byte [ebp + 4]
shl eax, 8
or eax, ecx
lea ebx, [eax + eax]
cmp ebx, dword [edi + 0x14]
mov dword [esp + 0x2c], eax
jl 0x43da32
movzx edx, byte [ebp + 1]
mov ebx, dword [esp + 0x154]
xor eax, eax
cmp dword [esp + 0x24], 0x61
setl al
shl edx, 8
dec eax
and eax, 2
mov dword [esp + 0x158], eax
movzx eax, byte [ebp + 2]
or edx, eax
cmp byte [edx + ebp], 0x54
jne 0x43d6fa
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
inc eax
push eax
mov eax, dword [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x14c]
push ebx
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x484998]
push ecx
add eax, ebp
push eax
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43d6d7
cmp eax, 0xfffffc1c
jne 0x43f0a9
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
movzx eax, byte [ebp + ecx + 1]
add ebp, ecx
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
cmp byte [eax + ebp], 0x54
je 0x43d686
cmp dword [esp + 0x158], 0
jne 0x43db2d
movzx edx, byte [ebp]
movzx eax, byte [edx + 0x484998]
add ebp, eax
jmp 0x43d877
cmp byte [ebp + 3], 0x19
lea ecx, [ebp + 3]
mov dword [esp + 0x18], ecx
jne 0x43d73e
mov edx, dword [esp + 0x150]
movzx ecx, byte [ebp + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [esp + 0x150], ecx
cmp byte [ebp], 0x57
jne 0x43d781
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x150]
inc ecx
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push ebx
push edx
push edi
push eax
mov eax, dword [esp + 0x15c]
push eax
push ecx
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov ebp, dword [esp + 0x20]
jmp 0x43d86c
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
inc edx
push edx
mov edx, dword [esp + 0x148]
push 2
push ebx
push ecx
push edi
push eax
mov eax, dword [esp + 0x38]
push edx
push eax
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov ebp, dword [esp + 0x18]
jmp 0x43d86c
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0x61
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
cmp byte [ebp], 0x57
mov dword [esp + 0x158], eax
jne 0x43d82b
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push 0
push ebx
push eax
push edi
push ecx
push edx
add ebp, 3
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
cmp dword [esp + 0x158], eax
jne 0x43ddf8
mov ebp, dword [esp + 0x20]
jmp 0x43d877
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x38]
inc eax
push eax
mov eax, dword [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x14c]
push ebx
push edx
mov edx, dword [esp + 0x30]
push edi
push eax
push ecx
push edx
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
add ebp, 3
mov dword [esp + 0x158], 0
mov ecx, dword [edi]
mov eax, dword [edi + 0x44]
mov dword [esp + 0x30], eax
cmp ecx, dword [edi + 4]
jb 0x4392dd
inc dword [edi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
inc edx
push edx
mov edx, dword [esp + 0x154]
push eax
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x150]
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x484998]
push ecx
add eax, ebp
push eax
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x150]
push eax
mov eax, dword [esp + 0x150]
push ecx
movzx ecx, byte [ebp]
push edi
push edx
movzx edx, byte [ecx + 0x484998]
push eax
add edx, ebp
push edx
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov eax, 0xfffffc19
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x154]
inc eax
push eax
mov eax, dword [esp + 0x154]
push ecx
mov ecx, dword [esp + 0x150]
push edx
mov edx, dword [esp + 0x150]
push eax
movzx eax, byte [ebp]
push edi
push ecx
movzx ecx, byte [eax + 0x484998]
push edx
add ecx, ebp
push ecx
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov dword [edi + 0x6c], esi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
inc edx
push edx
mov edx, dword [esp + 0x154]
push eax
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x150]
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x484998]
push ecx
add eax, ebp
push eax
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + ebx*4]
mov edx, dword [eax + ebx*4 + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x10]
sub ecx, dword [esp + 0x2c]
mov dword [esp + 0x38], edx
mov edx, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [edi + 0x80]
mov dword [esp + 0x20], edx
mov edx, esi
sub edx, dword [edi + 0x64]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x15c]
mov dword [eax], edx
xor eax, eax
cmp dword [esp + 0x24], 0x62
setne al
dec eax
and eax, 2
inc ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x154]
push eax
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x150]
push edx
movzx edx, byte [ebp]
push edi
push eax
movzx eax, byte [edx + 0x484998]
push ecx
add eax, ebp
push eax
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43dadb
cmp eax, 0xfffffc1c
jne 0x43f0a9
mov ecx, dword [esp + 0x34]
mov dword [edi + 0x80], ecx
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add ebp, edx
cmp byte [ebp], 0x54
je 0x43da87
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x18]
mov dword [ecx + ebx*4], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x38]
mov dword [eax + ebx*4 + 4], ecx
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [eax + edx*4], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
inc edx
push edx
mov edx, dword [esp + 0x14c]
push eax
mov eax, dword [esp + 0x14c]
push ebx
push ecx
movzx ecx, byte [ebp]
push edi
push edx
movzx edx, byte [ecx + 0x484998]
push eax
add edx, ebp
push edx
push esi
call fcn.004392a5
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc eax
push eax
mov eax, dword [esp + 0x14c]
push 2
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x144]
cmp esi, eax
jne 0x43dbe5
cmp dword [edi + 0x50], ebx
jne case.0x43ef51.14
cmp dword [edi + 0x54], ebx
je 0x43dbe5
mov edx, dword [edi + 0x84]
add edx, dword [edi + 0x64]
cmp eax, edx
je case.0x43ef51.14
mov ecx, dword [esp + 0x148]
mov dword [edi + 0x70], esi
mov dword [edi + 0x7c], ecx
mov dword [edi + 0x6c], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx ebx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
mov eax, dword [edi + 0x60]
shl ebx, 8
or ebx, edx
add ebx, eax
cmp ebx, eax
jne 0x43dc25
mov dword [esp + 0x40], 0
jmp 0x43dc36
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl eax, 8
or eax, ecx
mov dword [esp + 0x40], eax
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x90]
add ebp, 3
cmp ecx, 0x1e
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], edx
mov dword [edi + 0x90], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x50], ecx
jg 0x43dc6a
lea eax, [esp + 0xc0]
mov dword [esp + 0x4c], eax
jmp 0x43dc94
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x490670]
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x43dc90
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x50]
lea edx, [ecx*4]
mov ecx, dword [edi + 0xc]
push edx
push ecx
push eax
call fcn.00410d20
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x54], edx
mov dword [esp + 0x60], eax
mov al, byte [ebx]
add esp, 0xc
cmp al, 0x61
sbb ebp, ebp
and ebp, 0xfffffffe
add ebp, 2
inc ecx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x154]
push ebp
push ecx
mov ecx, dword [esp + 0x154]
push edx
movzx edx, al
movzx eax, byte [edx + 0x484998]
push edi
push ecx
push esi
add eax, ebx
push eax
push esi
call fcn.004392a5
add esp, 0x24
mov dword [esp + 0x18], eax
cmp eax, 1
je 0x43dd99
test eax, eax
je 0x43dd29
cmp eax, 0xfffffc1c
jne 0x43ddcc
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x3c]
lea eax, [edx*4]
mov edx, dword [edi + 0xc]
mov dword [edi + 0x90], ecx
mov ecx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.00410d20
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
mov al, byte [ebx]
add esp, 0xc
cmp al, 0x54
je 0x43dcd7
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x90], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x43dd8c
push eax
call dword [0x490674]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0xc0]
mov dword [edi + 0x90], edx
cmp eax, ecx
je 0x43ddbc
push eax
call dword [0x490674]
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0xc0]
cmp ecx, edx
je 0x43f0a9
push ecx
call dword [0x490674]
mov eax, dword [esp + 0x1c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x38]
inc edx
push edx
mov edx, dword [esp + 0x14c]
push eax
mov eax, dword [esp + 0x14c]
push ebx
push ecx
mov ecx, dword [esp + 0x30]
push edi
push edx
push eax
push ecx
push esi
call fcn.004392a5
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x148]
mov dword [edi + 0x70], esi
mov dword [edi + 0x7c], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x43ef51.14
cmp esi, dword [esp + 0x144]
jbe case.0x43ef51.14
mov dword [edi + 0x58], 1
cmp eax, 1
jle case.0x43ef51.14
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
cmp eax, ebx
jmp 0x43de5b
cmp eax, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
jge 0x43deff
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x24]
push ecx
push edi
push ebx
push esi
push edx
call fcn.00431ab0
add esp, 0x14
test eax, eax
je 0x43ded4
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43dea5
jmp 0x43def5
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43def5
cmp esi, dword [edi + 0x68]
jb 0x43def5
cmp esi, dword [esp + 0x144]
jbe 0x43def5
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp esi, dword [esp + 0x2c]
jb 0x43df57
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x28], eax
jmp 0x43df15
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
sub esi, ebx
cmp esi, dword [esp + 0x2c]
jae 0x43df15
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jb case.0x43ef51.14
jmp 0x43de61
mov ecx, dword [esp + 0x34]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x34], ecx
or eax, ebx
test edx, edx
jg 0x43df85
cmp eax, 0xff
jbe 0x43dfb4
cmp dword [esp + 0x24], 0x4e
je case.0x43ef51.14
jmp 0x43dfd2
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x20]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x43ef51.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ebx, dword [esp + 0x144]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
push eax
push edi
push ecx
push ebx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43ac75
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x43ef51.14
cmp esi, ebx
jmp 0x43de68
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x20]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x43ef51.14
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e06b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], esi
je 0x43e273
cmp eax, ebx
jge 0x43e1d5
mov ecx, 1
mov dword [esp + 0x18], ecx
cmp esi, dword [edi + 0x68]
jae 0x43e1ba
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x43e174
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
and ebx, edx
lea ecx, [eax + eax*2]
add ecx, ecx
shl ebx, cl
mov dword [esp + 0x34], eax
mov edx, ebx
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x18], ebx
jl 0x43e16b
movzx eax, byte [ebx + esi]
mov ebx, dword [esp + 0x18]
and eax, 0x3f
sub ecx, 6
shl eax, cl
inc ebx
mov dword [esp + 0x18], ebx
or edx, eax
mov eax, dword [esp + 0x34]
cmp ebx, eax
jle 0x43e14c
mov ebx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
cmp edx, 0xff
jbe 0x43e189
cmp dword [esp + 0x24], 0x4e
je 0x43e1d5
jmp 0x43e1a3
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je 0x43e1d5
mov eax, dword [esp + 0x14]
add esi, dword [esp + 0x18]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43e0fc
jmp 0x43e1d5
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e1d5
cmp esi, dword [esp + 0x144]
jbe 0x43e1d5
cmp eax, ecx
mov dword [edi + 0x58], ecx
jg 0x43de7e
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov edi, edi
mov ecx, esi
dec esi
cmp ecx, dword [esp + 0x2c]
je 0x43e322
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43e236
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x43e22c
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e215
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, ebx
jge 0x43e2d7
cmp esi, dword [edi + 0x68]
jae 0x43e2ad
movzx edx, byte [esi]
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x20]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je 0x43e2cd
mov eax, dword [esp + 0x14]
inc eax
inc esi
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x43e27b
jmp 0x43e2cd
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e2cd
cmp esi, dword [esp + 0x144]
jbe 0x43e2cd
cmp eax, 1
mov dword [edi + 0x58], 1
jg 0x43de7e
cmp esi, dword [esp + 0x2c]
jb 0x43e322
mov ebx, dword [esp + 0x15c]
inc ebx
lea ebx, [ebx]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
dec esi
cmp esi, dword [esp + 0x2c]
jae 0x43e2e5
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, eax
mov dword [esp + 0x2c], esi
jge 0x43e3fb
jmp 0x43e345
mov ebx, 1
cmp esi, dword [edi + 0x68]
jae 0x43e3df
cmp dword [esp + 0x30], 0
movzx edx, byte [esi]
je 0x43e3b6
cmp edx, 0xc0
jb 0x43e3b6
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x484a58]
mov ebx, dword [eax*4 + 0x484a40]
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 + 0x18], ebx
jl 0x43e3b3
movzx ebx, byte [ebx + esi]
and ebx, 0x3f
sub ecx, 6
shl ebx, cl
or edx, ebx
mov ebx, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x18], ebx
jle 0x43e398
lea ebx, [eax + 1]
mov eax, dword [esp + 0x20]
push eax
push edx
call fcn.004314ef
add esp, 8
test eax, eax
je 0x43e3fb
mov eax, dword [esp + 0x14]
inc eax
add esi, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x43e345
jmp 0x43e3fb
mov eax, dword [edi + 0x78]
test eax, eax
je 0x43e3fb
cmp esi, dword [esp + 0x144]
jbe 0x43e3fb
cmp eax, 1
mov dword [edi + 0x58], ebx
jg 0x43de7e
mov ebx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov edx, esi
dec esi
cmp edx, dword [esp + 0x2c]
je case.0x43ef51.14
cmp dword [esp + 0x30], 0
je 0x43e461
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e461
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43e455
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e439
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
cmp eax, ebx
je case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jb case.0x43ef51.14
jmp 0x43de61
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x15c]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x43ef51.14
mov edx, dword [edi + 0x68]
sub edx, dword [esp + 0x20]
cmp esi, edx
ja 0x43df64
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push esi
call fcn.00411913
add esp, 0xc
test eax, eax
jne 0x43df64
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x148]
add esi, dword [esp + 0x20]
inc dword [esp + 0x14]
push ebx
push eax
mov eax, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e4f9
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x15c]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
jne case.0x43ef51.14
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e5b7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x15c]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x24], edx
jne case.0x43ef51.14
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e666
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x15c]
inc eax
cmp dword [esp + 0x30], 0
push eax
mov dword [esp + 0x2c], eax
push 0
je 0x43e7fb
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
jmp 0x43e725
cmp dword [esp + 0x14], ebx
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43e799
mov eax, ecx
and eax, 0x3f
movzx eax, byte [eax + 0x484a58]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x484a40]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x43e799
movzx edx, byte [esi]
mov ecx, dword [esp + 0x18]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x38]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x38], ecx
test eax, eax
jg 0x43e776
cmp ecx, 0x100
jae 0x43e7a8
mov eax, dword [edi + 0x30]
movzx ecx, byte [eax + ecx]
cmp dword [esp + 0x24], ecx
je case.0x43ef51.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e725
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
lea esp, [esp]
cmp dword [esp + 0x14], ebx
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [esp + 0x24], eax
je case.0x43ef51.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e835
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x15c]
inc eax
cmp dword [esp + 0x30], 0
push eax
mov dword [esp + 0x2c], eax
push 0
je 0x43e9bc
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov edi, edi
cmp dword [esp + 0x14], ebx
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43e969
mov edx, ecx
and edx, 0x3f
movzx eax, byte [edx + 0x484a58]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
mov edx, dword [eax*4 + 0x484a40]
and edx, ecx
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, edx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x43e969
movzx edx, byte [esi]
mov ecx, dword [esp + 0x18]
sub ecx, 6
and edx, 0x3f
shl edx, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x38]
dec eax
or ecx, edx
inc esi
mov dword [esp + 0x38], ecx
test eax, eax
jg 0x43e946
cmp dword [esp + 0x24], ecx
je case.0x43ef51.14
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14c]
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e8f5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
lea ebx, [ebx]
cmp dword [esp + 0x14], ebx
jge case.0x43ef51.14
cmp esi, dword [edi + 0x68]
jae 0x43de56
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x24], eax
je case.0x43ef51.14
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14c]
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43e9f5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [edi + 0x78]
test eax, eax
je case.0x43ef51.14
cmp esi, dword [esp + 0x144]
jbe case.0x43ef51.14
mov dword [edi + 0x58], edx
cmp eax, edx
jmp 0x43de78
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp dword [esp + 0x30], 0
mov dword [esp + 0x14], ebx
je 0x43ee7e
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
push 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x15c]
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
cmp ebx, dword [esp + 0x1c]
jge case.0x43ef51.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43de56
cmp dword [esp + 0x20], 0xc
jne 0x43eb44
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43eb1f
mov edx, dword [esp + 0x30]
push edx
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne case.0x43ef51.14
jmp 0x43eb44
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43eb44
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43eb44
cmp ecx, 1
je case.0x43ef51.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43ef51.14
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43eb92
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x484a58]
mov ebx, dword [edx*4 + 0x484a40]
lea ecx, [edx + edx*2]
and ebx, eax
add ecx, ecx
shl ebx, cl
mov eax, ebx
test edx, edx
jle 0x43eb92
jmp 0x43eb7b
mov ecx, dword [esp + 0x34]
movzx ebx, byte [esi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc esi
mov dword [esp + 0x34], ecx
or eax, ebx
test edx, edx
jg 0x43eb77
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x43ef37.15
jmp dword [ecx*4 + 0x43f405]
cmp eax, 0xd
ja 0x43ebe2
je 0x43ebca
cmp eax, 0xa
je case.0x43eba2.12
jbe case.0x43ef51.14
cmp eax, 0xc
ja case.0x43ef51.14
jmp 0x43ebff
cmp esi, dword [edi + 0x68]
jae case.0x43eba2.12
cmp byte [esi], 0xa
jne case.0x43eba2.12
inc esi
jmp case.0x43eba2.12
cmp eax, 0x85
je 0x43ebff
cmp eax, 0x2027
jbe case.0x43ef51.14
cmp eax, 0x2029
ja case.0x43ef51.14
cmp dword [edi + 0x5c], 0
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x180e
ja 0x43ec4f
je case.0x43ef51.14
cmp eax, 0xa0
ja 0x43ec3f
je case.0x43ef51.14
cmp eax, 9
je case.0x43ef51.14
cmp eax, 0x20
je case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x1680
je case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x205f
ja 0x43ec82
je case.0x43ef51.14
cmp eax, 0x2000
jb case.0x43eba2.12
cmp eax, 0x200a
jbe case.0x43ef51.14
cmp eax, 0x202f
je case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x3000
je case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x180e
ja 0x43ecd3
je case.0x43eba2.12
cmp eax, 0xa0
ja 0x43ecc3
je case.0x43eba2.12
cmp eax, 9
je case.0x43eba2.12
cmp eax, 0x20
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x1680
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x205f
ja 0x43ed06
je case.0x43eba2.12
cmp eax, 0x2000
jb case.0x43ef51.14
cmp eax, 0x200a
jbe case.0x43eba2.12
cmp eax, 0x202f
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x3000
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x85
ja 0x43ed3a
je case.0x43ef51.14
cmp eax, 0xa
jb case.0x43eba2.12
cmp eax, 0xd
jbe case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x2028
jb case.0x43eba2.12
cmp eax, 0x2029
jbe case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x85
ja 0x43ed79
je case.0x43eba2.12
cmp eax, 0xa
jb case.0x43ef51.14
cmp eax, 0xd
ja case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x2028
jb case.0x43ef51.14
cmp eax, 0x2029
ja case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x100
jae case.0x43eba2.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x100
jae case.0x43ef51.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x100
jae case.0x43eba2.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x100
jae case.0x43ef51.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x100
jae case.0x43eba2.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43ef51.14
jmp case.0x43eba2.12
cmp eax, 0x100
jae case.0x43ef51.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x43ef51.14
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov ebx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14c]
push 0
push ecx
mov ecx, dword [esp + 0x150]
push edx
push edi
push eax
push ecx
push ebp
inc ebx
push esi
mov dword [esp + 0x38], ebx
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43eade
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x150]
push eax
push edi
push ecx
push edx
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
jne 0x43f0a9
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
jge case.0x43ef51.14
mov eax, dword [edi + 0x68]
cmp esi, eax
jae 0x43de56
cmp dword [esp + 0x20], 0xc
jne 0x43ef23
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x43eefe
push 0
lea edx, [edi + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.00431924
add esp, 0x14
test eax, eax
jne case.0x43ef51.14
jmp 0x43ef23
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp esi, eax
ja 0x43ef23
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ef23
cmp ecx, 1
je case.0x43ef51.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x43ef51.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x43ef37.15
jmp dword [ecx*4 + 0x43f445]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x43ef51.14
movzx edx, byte [eax + 0x43f495]
jmp dword [edx*4 + 0x43f485]
cmp esi, dword [edi + 0x68]
jae case.0x43ef37.12
cmp byte [esi], 0xa
jne case.0x43ef37.12
inc esi
jmp case.0x43ef37.12
cmp dword [edi + 0x5c], 0
jne case.0x43ef51.14
jmp case.0x43ef37.12
cmp eax, 9
je case.0x43ef51.14
cmp eax, 0x20
je case.0x43ef51.14
cmp eax, 0xa0
je case.0x43ef51.14
jmp case.0x43ef37.12
cmp eax, 9
je case.0x43ef37.12
cmp eax, 0x20
je case.0x43ef37.12
cmp eax, 0xa0
jne case.0x43ef51.14
jmp case.0x43ef37.12
cmp eax, 0xa
jb case.0x43ef37.12
cmp eax, 0xd
jbe case.0x43ef51.14
cmp eax, 0x85
je case.0x43ef51.14
jmp case.0x43ef37.12
cmp eax, 0xa
jb case.0x43ef51.14
cmp eax, 0xd
jbe case.0x43ef37.12
cmp eax, 0x85
jne case.0x43ef51.14
jmp case.0x43ef37.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x43ef51.14
jmp case.0x43ef37.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x43ef51.14
jmp case.0x43ef37.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne case.0x43ef51.14
jmp case.0x43ef37.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x43ef51.14
jmp case.0x43ef37.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x43ef51.14
jmp case.0x43ef37.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je case.0x43ef51.14
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc dword [esp + 0x14]
push ebx
push 0
push eax
mov eax, dword [esp + 0x150]
push ecx
push edi
push edx
push eax
push ebp
push esi
call fcn.004392a5
add esp, 0x24
test eax, eax
je 0x43eebc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret