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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push ebx
mov ebx, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x3c], ebx
push esi
push edi
test ebx, ebx
je 0x44e088
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x2c], ecx
cmp eax, dword [esi + 4]
jae 0x4565b7
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x4565ad
cmp dword [esi + 0x9c], 2
je 0x44e0bc
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x34], 0
cmp edi, 0xa1
ja case.0x410e93.98
movzx eax, byte [edi + 0x411738]
jmp dword [eax*4 + 0x4115ec]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
sub edi, eax
mov eax, 0x88
mov dword [ebp - 0x18], edi
movzx ecx, word [edi]
cmp cx, ax
jae 0x44ede8
mov eax, 0x81
cmp cx, ax
je 0x44ede8
mov dword [ebp - 0x24], 0
cmp ecx, 0x7d
jb 0x410ee0
mov eax, 0x80
cmp cx, ax
jbe 0x454991
mov eax, 0x82
cmp cx, ax
je 0x454991
mov eax, 0x85
cmp cx, ax
je 0x4112b6
mov eax, 0x8a
cmp cx, ax
je 0x4112b6
mov eax, 0x86
cmp cx, ax
je 0x4112b6
mov eax, 0x8b
cmp cx, ax
je 0x4112b6
mov ecx, dword [ebp + 0xc]
movzx eax, word [ebx]
cmp eax, 0x78
jne 0x44ee60
mov eax, 0x81
cmp word [edi], ax
je 0x45493c
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x410e6d
cmp edi, 0x88
jae 0x454756
cmp edi, 0x81
je 0x454756
cmp dword [esi + 0x70], 0
jne 0x454760
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x454760
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4c0d70]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x410e51
jmp 0x4565b7
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x456553
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x456599
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
cmp eax, ecx
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov dword [ebp - 8], eax
mov edi, eax
je 0x411017
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44fd7d
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae012]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x4110b6
mov esi, dword [ebp - 8]
mov ebx, edi
lea ebx, [ebx]
cmp dword [ebp - 0x2c], 0
mov edx, 1
movzx ecx, word [esi]
je 0x411070
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44fda7
mov esi, dword [ebp - 0x30]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
mov edi, ebx
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx ecx, byte [eax*8 + 0x4ae012]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c0e20], eax
mov eax, dword [ebp - 0x24]
jne 0x41118b
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x3c]
cmp dword [esi + 0x8c], 0
jne 0x44fdcb
add ebx, 2
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 8]
jmp 0x410e6d
movzx ecx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], ebx
cmp ecx, 0x6d
jbe 0x45002e
mov edx, dword [ebp - 0x34]
mov eax, 1
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 1
je 0x450104
cmp eax, 1
jl 0x411177
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ecx
cmp eax, 0xd800
je 0x4500cc
mov eax, ecx
cmp ecx, 0xff
ja 0x4500f6
mov esi, dword [ebp - 0x20]
mov ecx, eax
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x30]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x410e93.157
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x411112
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x14], ecx
je 0x4110c9
jmp 0x45016b
lea esi, [ebx + edx*2]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 8], esi
mov ebx, esi
mov edi, esi
cmp esi, eax
jb 0x411050
jmp 0x4110b0
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
cmp dword [ebp - 0x2c], 0
je 0x45070b
movzx ecx, word [ebx + 2]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x30], 1
and eax, 0xfc00
mov edx, ecx
mov dword [ebp - 0x24], edx
mov edi, ecx
cmp eax, 0xd800
je 0x45065a
mov eax, dword [ebp - 8]
cmp edi, 0x80
jae 0x450687
movzx edx, word [eax]
mov eax, dword [esi + 0x3c]
cmp edx, 0xff
ja 0x411203
movzx edx, byte [eax + edx]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne case.0x410e93.157
add ebx, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 8]
jmp 0x410e6d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], ecx
je 0x411256
mov eax, edx
mov dword [ebp - 0x1c], ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44fb43
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4b0870]
cmp eax, 9
jne 0x44fb6d
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4af690]
lea eax, [eax*4 + 0x4af690]
cmp dword [ebp - 0x1c], ecx
jb 0x44fd6f
lea esp, [esp]
lea eax, [eax + 4]
cmp edx, ecx
je 0x411331
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4112a0
jmp 0x44fd6f
movzx eax, word [edi + 4]
mov dword [ebp - 0x1c], eax
lea edi, [eax + eax]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x30], edi
mov ecx, edi
test eax, eax
jne 0x44ee00
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
jge 0x44ee2c
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jg 0x44ee3f
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
mov ecx, dword [ebp + 0xc]
cmp ecx, edi
jg 0x411329
lea ecx, [edi + 2]
mov dword [ebp + 0xc], ecx
mov edi, dword [ebp - 0x18]
jmp 0x410f29
cmp edi, 0x10
jne case.0x410e93.157
add ebx, 6
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 8]
jmp 0x410e6d
cmp dword [ebp - 0x2c], 0
je 0x45062b
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov edi, 1
and ax, cx
mov dword [ebp - 0x30], edi
mov ecx, 0xd800
cmp ax, cx
je 0x45061e
mov ecx, dword [esi + 0x7c]
mov eax, ecx
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x30], eax
jg 0x454d21
lea esp, [esp]
movzx ecx, word [ebx]
dec edi
movzx eax, word [edx]
add ebx, 2
add edx, 2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 8], edx
cmp cx, ax
jne case.0x410e93.157
test edi, edi
jle 0x4110c9
jmp 0x411390
lea edx, [edi - 0x55]
add ebx, 2
mov ecx, ebx
test dl, 1
je 0x4515fe
mov eax, 1
movsx edi, byte [edx + 0x4b085c]
mov dword [ebp - 0xc], edi
movsx edi, byte [edx + 0x4b0850]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], edi
test edi, edi
jne 0x4113ee
mov dword [ebp - 0x14], bind
mov edx, dword [ebp - 0x28]
movzx edi, word [ebx]
lea ebx, [ecx + 2]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
cmp edi, 0x10
je 0x451605
cmp edi, 0xf
je 0x451605
or edi, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x30], edi
test ecx, ecx
jg 0x45162a
mov edi, dword [ebp - 8]
cmp ecx, dword [ebp - 0x14]
je 0x4110c9
test eax, eax
mov eax, dword [ebp - 0x30]
je 0x452c7e
test eax, eax
jns 0x4550e4
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
cmp dword [ebp - 0x38], 0x16
je 0x4559d2
cmp dword [ebp - 0x2c], 0
je 0x455eee
test eax, eax
jne 0x410fda
jmp 0x411480
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x4527cd
cmp dword [ebp - 0x38], 0xc
jne 0x4114c2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455b52
push dword [ebp - 0x2c]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041f3d2
add esp, 0xc
test eax, eax
jne case.0x410e93.157
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 0x48], ecx
and eax, 0xfc00
mov dword [ebp - 0x30], edi
mov edx, ecx
cmp eax, 0xd800
je 0x455b8b
cmp dword [ebp - 0x38], 0xc
mov eax, edi
jne 0x455bb4
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
cmp dword [esi + 0x8c], 0
jne 0x455eac
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov esi, dword [ebp + 0x10]
inc eax
inc dword [ebp - 0xc]
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
jmp 0x411480
movzx edx, word [ebx + 4]
mov dword [ebp - 0x40], edx
lea eax, [edx + edx]
mov dword [ebp - 0x10], eax
cmp eax, dword [esi + 0x14]
jge case.0x410e93.129
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x40]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
cmp edi, 0x88
jae 0x45628c
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410e10
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x4562e3
cmp edx, 0xfffffc20
je 0x45629b
test edx, edx
je 0x4562c0
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
jne 0x44e0aa
push 1
push 0
push 0
push 0
push 0
xor edx, edx
lea ecx, [ebp + 0x18]
call fcn.00410e10
add esp, 0x14
jmp 0x410fda
lea eax, [ebp + 0x18]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
neg eax
jmp 0x410fda
mov eax, dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
mov dword [ebp + 0x14], eax
mov dword [esi + 0x9c], 0
jmp 0x4110c9
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x454830
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4c0d70]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x3c], ebx
jmp 0x410e6d
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
cmp eax, 1
je 0x44e184
cmp eax, 0xfffffc20
jne 0x44e164
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x410fda
cmp word [ebx], 0x77
je 0x44e16c
cmp word [ecx], 0x77
jne 0x410fda
jmp 0x44e16c
test eax, eax
jne 0x410fda
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x44e116
mov ecx, dword [ebp + 8]
jmp 0x44e18d
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x44e1a3
cmp eax, 0x77
jne case.0x410e93.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44e1a3
cmp word [ebx], 0x78
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0x44e863
cmp eax, dword [ebp - 0x40]
jne 0x454542
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
mov dword [ebp - 0x1c], 0
jmp 0x44ebbb
mov dword [ebp - 0x1c], 0
mov eax, ebx
xor ecx, ecx
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x40], eax
cmp edi, 0x88
jb 0x44e21e
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410e10
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x44ecaa
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x10]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov ecx, 1
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 8], eax
je 0x44ecfc
mov dword [ebp - 8], eax
jmp 0x44e20c
cmp word [ebx + 4], 0x76
lea ecx, [ebx + 4]
movzx eax, word [ebx + 2]
mov ebx, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], ecx
jne 0x44e384
cmp dword [0x4d25f0], 0
je 0x44e376
mov dword [ebp - 0xa8], 2
movzx eax, word [ecx + 2]
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
movzx eax, word [ecx + 4]
mov dword [ebp - 0x80], eax
movzx eax, word [ecx + 6]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0x94]
and eax, 0xffff
mov dword [ebp - 0x88], eax
jne 0x44e33a
mov dword [ebp - 0x88], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x84], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0xa8]
push eax
call dword [0x4d25f0]
add esp, 4
test eax, eax
jg case.0x410e93.157
js 0x410fda
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
lea ebx, [ecx + 8]
add eax, 0xfffffffc
mov ecx, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x18], ecx
movzx eax, word [eax]
mov dword [ebp - 0x24], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x44e3a7.146
movzx eax, byte [eax + 0x4565dc]
jmp dword [eax*4 + 0x4565c4]
mov ecx, dword [esi + 0xa8]
mov ebx, dword [ebp - 0x28]
test ecx, ecx
je 0x44e5b9
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x44e3d3
cmp eax, dword [ecx + 4]
je 0x44e3d3
xor ecx, ecx
jmp 0x44e431
mov ecx, 1
jmp 0x44e590
cmp dword [esi + 0xa8], ecx
je case.0x44e3a7.145
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
imul ecx, dword [esi + 0x24]
movzx ebx, word [eax + 4]
mov eax, dword [esi + 0x30]
lea ecx, [eax + ecx*2]
test ebx, ebx
je 0x44e5b1
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x30], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
movzx eax, word [ecx]
dec ebx
cmp eax, dword [ebp - 0x10]
je 0x44e480
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x30], ecx
test ebx, ebx
jg 0x44e411
xor ecx, ecx
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x3c], ebx
test ecx, ecx
jne 0x44e449
cmp word [ebx - 4], 0x77
jne 0x410e6d
cmp edi, 0x8c
jne 0x410f94
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
jmp 0x410fda
mov ebx, dword [ebp - 0x28]
mov ecx, 1
jmp 0x44e590
mov ebx, dword [ebp - 0x28]
movzx eax, word [ebx + 2]
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x44e4ac
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x44e4ac
mov ecx, 1
jmp 0x44e4ae
xor ecx, ecx
test ecx, ecx
jne 0x44e590
jmp 0x44e431
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 2]
imul ecx, dword [esi + 0x24]
movzx ebx, word [eax + 4]
mov eax, dword [esi + 0x30]
lea eax, [eax + ecx*2]
test ebx, ebx
je 0x44e5b1
mov dword [ebp - 0x30], eax
movzx eax, word [eax]
dec ebx
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x44e4f0
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x44e480
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov eax, dword [esi + 0x24]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x30], eax
test ebx, ebx
jg 0x44e4db
jmp 0x44e42c
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
mov dword [esi + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
cmp eax, 1
jne 0x44e59f
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x44e540
mov dword [ebp + 0xc], eax
mov eax, 1
mov ecx, 0x92
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
cmp word [eax], cx
jne 0x44e55a
lea eax, [ebx + 2]
mov ebx, eax
movzx eax, word [eax + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0x44e576
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x44e568
mov eax, dword [ebp - 0x24]
mov ecx, 2
movzx eax, byte [eax + 0x4c0d70]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + 0x4c0d70]
jmp 0x44e434
test eax, eax
je 0x44e5ae
cmp eax, 0xfffffc20
jne 0x410fda
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
jmp case.0x44e3a7.145
mov ecx, dword [ebp - 0x18]
jmp 0x44e431
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
mov dword [ebp - 0x10], ecx
or eax, ecx
lea edi, [ecx + ecx]
mov dword [esi + 0x94], eax
mov dword [ebp - 0x40], edi
cmp edi, dword [esi + 0x14]
jl 0x44e5f3
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x44e63f
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x10]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jl 0x44e63c
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x44e636
sub ecx, edx
mov edi, edx
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x40]
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x410e6d
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x10], eax
jne 0x44e66d
mov dword [esi + 0x9c], 0
mov edi, 1
jmp 0x44e66f
xor edi, edi
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x44e6e1
cmp ecx, 0xfffffc19
je 0x44e6e1
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x44e6cd
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e6c6
cmp word [ebx], 0x77
je 0x44e6d1
cmp word [eax], 0x77
je 0x44e6d1
mov eax, ecx
jmp 0x410fda
test ecx, ecx
jne 0x44e6c6
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44e66f
jmp 0x44e6ea
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x410e93.157
test edi, edi
jne 0x410fd5
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44e6fc
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov dword [ebp + 0xc], eax
jmp 0x4110c9
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x44e740
mov dword [esi + 0x9c], 0
mov dword [ebp - 0x30], 1
jmp 0x44e747
mov dword [ebp - 0x30], 0
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
mov ecx, eax
mov dword [esi + 0xb0], edi
add esp, 0x14
cmp ecx, 0xfffffc20
jg 0x44e7a0
jne 0x44e7b5
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e7d0
cmp word [ebx], 0x77
je 0x44e790
cmp word [eax], 0x77
jne 0x44e7d0
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44e747
jmp 0x44e7de
mov eax, ecx
sub eax, 0
je 0x44e790
sub eax, 1
je case.0x410e93.157
jmp 0x44e6c6
cmp ecx, 0xfffffc19
je case.0x410e93.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x44e6c6
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44e7d0
cmp dword [ebp - 0x30], 0
jne 0x410fd5
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
cmp dword [ebp - 0x2c], 0
je 0x44e838
movzx ecx, word [ebx + 2]
test ecx, ecx
je 0x44e852
mov eax, dword [ebp - 8]
dec ecx
add eax, 0xfffffffe
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x410e93.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x44e832
add eax, 0xfffffffe
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x44e801
jmp 0x44e855
movzx eax, word [ebx + 2]
mov ecx, dword [ebp - 8]
neg eax
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp eax, dword [esi + 0x78]
jb case.0x410e93.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x44e863
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
cmp dword [0x4d25f0], 0
je 0x44e943
mov dword [ebp - 0xdc], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0xb4], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 0x94]
and eax, 0xffff
mov dword [ebp - 0xbc], eax
jne 0x44e90a
mov dword [ebp - 0xbc], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xdc]
push eax
call dword [0x4d25f0]
add esp, 4
test eax, eax
jg case.0x410e93.157
js 0x410fda
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x3c], ebx
jmp 0x410e6d
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp - 0x30], edi
cmp edi, ecx
jne 0x44e963
xor edx, edx
jmp 0x44e967
movzx edx, word [edi + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x44e98e
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x44e988
cmp eax, dword [ecx + 0x14]
jne 0x44e988
mov eax, 0xffffffe6
jmp 0x410fda
mov ecx, dword [ecx]
test ecx, ecx
jne 0x44e974
mov dword [ebp - 0x5c], edx
add ebx, 4
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x54], ecx
cmp ecx, 0x1e
jg 0x44e9ce
lea eax, [ebp - 0x154]
mov dword [ebp - 0x58], eax
jmp 0x44e9ec
lea eax, [ecx*4]
push eax
call fcn.0041e2c3
add esp, 4
mov dword [ebp - 0x58], eax
test eax, eax
je 0x4548c8
mov ecx, dword [ebp - 0x54]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.004211a0
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
test eax, eax
je 0x44ea18
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.00410e10
mov ecx, dword [ebp - 0x54]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [ebp - 0x58]
push dword [esi + 0xc]
call fcn.004211a0
mov eax, dword [ebp - 0x50]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 0xa8], eax
cmp edi, 1
je 0x44eaba
cmp edi, 0xfffffc19
je 0x44eaba
cmp edi, 0xfffffc1c
jl 0x44ea89
cmp edi, 0xfffffc20
jle 0x454881
test edi, edi
jne 0x4548a0
mov edi, dword [ebp - 0x30]
lea eax, [ebp - 0x60]
mov dword [esi + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov dword [ebp - 0x30], edi
jne 0x454878
mov eax, dword [ebp - 0x10]
jmp 0x44ea0a
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je 0x44ead0
push eax
call fcn.0041c957
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x4110c9
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x410e93.119
mov dword [ebp - 0x3c], ebx
jmp 0x410e6d
mov eax, dword [ebp + 0x18]
add ebx, 2
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, ebx
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44eb24
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
add ebx, 2
mov dword [ebp - 0x3c], ebx
mov edx, ebx
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x44eb45
mov eax, dword [ebp + 0x18]
add edx, 4
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
jmp 0x4110c9
add ebx, 2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44eb80
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x410e6d
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x1c], 1
cmp edi, 0x86
je 0x44ebbb
cmp edi, 0x8b
jne 0x44e1f4
movzx edx, word [ebx + 4]
mov dword [ebp - 0x18], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0x44e1f4
mov ecx, ebx
shl eax, 2
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x20], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x10]
mov edx, eax
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x18]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x44ec32
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410e10
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x44ed2f
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x10]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x30], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 8], eax
je 0x44ed87
mov dword [ebp - 8], eax
jmp 0x44ec0d
cmp ecx, 0xfffffc20
jne 0x44ecd6
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e6c6
cmp word [ebx], 0x77
je 0x44ecde
cmp word [eax], 0x77
je 0x44ecde
jmp 0x44e6c6
test ecx, ecx
jne 0x44e6c6
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
mov eax, ebx
jne 0x44ed0e
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x94], eax
jmp 0x44e20c
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
mov eax, ebx
je 0x44ecfc
jmp 0x44ed11
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x44e863
mov ebx, eax
cmp dword [ebp - 0x1c], ecx
je case.0x410e93.157
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
cmp ecx, 0xfffffc20
jne 0x44ed5b
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e6c6
cmp word [ebx], 0x77
je 0x44ed63
cmp word [eax], 0x77
je 0x44ed63
jmp 0x44e6c6
test ecx, ecx
jne 0x44e6c6
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
mov edx, ebx
mov eax, ebx
je 0x44ec0a
mov ecx, dword [ebp - 0x20]
jmp 0x44ed99
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
mov edx, ebx
je 0x44ed87
mov eax, edx
test ecx, ecx
jne 0x44edc9
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
mov dword [ecx + eax], ebx
mov ebx, edx
mov eax, dword [esi + 0xc]
mov dword [ecx + eax + 4], edi
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x18]
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0x28]
mov dword [eax + ecx*4], edi
mov eax, edx
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], 0
jne 0x44e863
mov ebx, eax
test ecx, ecx
je case.0x410e93.157
add ebx, 4
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
mov eax, dword [ebp + 0x14]
mov esi, eax
mov esi, dword [esi]
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
jmp 0x410ecd
mov edx, dword [ebp - 0x1c]
mov ecx, edi
cmp dword [eax + 4], edx
mov edx, dword [ebp - 8]
jne 0x4112d3
mov eax, edx
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x410fda
mov edi, dword [ebp - 0x18]
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x410f26
mov eax, dword [esi + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x44ee58
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
jmp 0x4112fb
cmp eax, 0x7b
je 0x45496f
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 8], eax
jne 0x45458c
mov edx, dword [ebp - 8]
jmp 0x410f35
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x44ee94
cmp eax, dword [esi + 0x78]
je case.0x410e93.157
jmp 0x44ee94
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x78]
jne case.0x410e93.157
add ebx, 2
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x44eeba
cmp eax, dword [esi + 0x78]
je case.0x410e93.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x4110c3
cmp eax, dword [esi + 0x7c]
je case.0x410e93.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44eefd
cmp eax, ecx
jbe case.0x410e93.157
push dword [ebp - 0x2c]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0049ba47
add esp, 0xc
test eax, eax
je case.0x410e93.157
jmp 0x4110c3
mov eax, dword [esi + 0x1c]
lea edi, [eax + eax]
lea eax, [ecx + edi]
cmp dword [ebp - 8], eax
jb case.0x410e93.157
mov ecx, dword [ebp - 8]
sub ecx, edi
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x410e93.157
cmp dword [esi + 0x1c], 1
je 0x4110c3
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x410e93.157
jmp 0x4110c3
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x410e93.157
add ebx, 2
mov dword [ebp - 0x3c], ebx
jmp 0x410e6d
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44f033
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44effc
push dword [ebp - 0x2c]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041f3d2
add esp, 0xc
test eax, eax
jne 0x4110c3
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x410e93.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x410e93.157
cmp dword [esi + 0x18], 0
jne case.0x410e93.157
cmp dword [esi + 0x1c], 2
jne case.0x410e93.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x410e93.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x410e93.157
mov eax, 0xfffffff4
jmp 0x410fda
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44efa1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44ef9e
cmp edx, 1
je 0x4110c3
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x44ef9e
jmp 0x4110c3
cmp dword [esi + 0x4c], 0
jne case.0x410e93.157
cmp dword [esi + 0x8c], 0
je 0x4110c3
cmp eax, dword [esi + 0x88]
jmp 0x44f058
cmp edi, dword [esi + 0x88]
jbe 0x4110c3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
add ebx, 2
mov dword [ebp - 0x3c], ebx
jmp 0x4110c9
cmp dword [esi + 0x4c], 0
jne case.0x410e93.157
cmp dword [esi + 0x5c], 0
je case.0x410e93.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x410e93.157
jmp 0x44f03d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44f03d
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44f0c3
push dword [ebp - 0x2c]
push edi
push ecx
mov ecx, eax
call fcn.0041f3d2
add esp, 0xc
test eax, eax
jne 0x44f0f8
jmp 0x44ef9e
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44efa1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44ef9e
cmp edx, 1
je 0x44f0f8
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x44ef9e
mov ecx, dword [edi]
mov eax, dword [esi + 0x7c]
add ecx, ecx
sub eax, ecx
cmp dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jne 0x44efa1
jmp 0x44f03d
cmp dword [ebp - 0x2c], 0
mov ecx, dword [esi + 0x78]
mov eax, dword [ebp - 8]
je 0x44f2e9
cmp eax, ecx
je 0x44f1f8
lea edx, [eax - 2]
mov edi, 0xfc00
mov ax, word [edx]
mov ecx, edx
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x44f149
lea ecx, [edx - 2]
mov edx, ecx
cmp ecx, dword [esi + 0x88]
jae 0x44f157
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
mov edi, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f186
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov edi, ecx
cmp dword [esi + 0x58], 0
je 0x44f1da
cmp edi, 0x5f
jne 0x44f19b
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44f1fa
mov eax, edi
and edi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x44f1d0
cmp eax, 3
jne 0x44f1f5
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44f1fa
cmp edi, 0x100
jae 0x44f1f5
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44f1f5
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44f1fa
mov eax, dword [ebp - 8]
xor edi, edi
mov dword [ebp - 0x20], edi
cmp eax, dword [esi + 0x7c]
jae 0x44f280
movzx ecx, word [eax]
mov edx, dword [ebp - 8]
mov eax, ecx
and eax, 0xfc00
mov edi, ecx
cmp eax, 0xd800
jne 0x44f234
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov edi, ecx
cmp dword [esi + 0x58], 0
je 0x44f2c9
cmp edi, 0x5f
je 0x44f2da
mov eax, edi
and edi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x44f2da
cmp eax, 3
je 0x44f2da
xor ecx, ecx
jmp 0x44f2df
cmp dword [esi + 0x8c], 0
je 0x44f2a5
cmp eax, dword [esi + 0x88]
jbe 0x44f2a5
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov edx, dword [ebp - 8]
xor ecx, ecx
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x3c], ebx
cmp eax, 5
jne 0x44f419
cmp ecx, edi
jne 0x410e6d
jmp case.0x410e93.157
cmp edi, 0x100
jae 0x44f2e4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44f2e4
mov ecx, 1
mov edi, dword [ebp - 0x20]
jmp 0x44f2aa
mov edi, dword [ebp - 0x20]
jmp 0x44f2a8
cmp eax, ecx
je 0x44f389
cmp eax, dword [esi + 0x88]
ja 0x44f305
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x44f369
cmp ecx, 0x5f
jne 0x44f319
lea edi, [ecx - 0x5e]
jmp 0x44f38b
mov eax, ecx
test eax, eax
jns 0x44f322
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f33c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x44f35f
cmp eax, 3
jne 0x44f386
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44f38b
mov edx, 0xff
cmp cx, dx
ja 0x44f389
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44f386
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44f38b
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x44f280
cmp dword [esi + 0x58], 0
je 0x44f3ec
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x44f40c
mov eax, ecx
test eax, eax
jns 0x44f3ab
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f3c5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x44f40c
cmp eax, 3
je 0x44f40c
xor ecx, ecx
jmp 0x44f411
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44f2a5
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44f2a5
mov ecx, 1
mov edx, dword [ebp - 8]
jmp 0x44f2aa
cmp ecx, edi
je 0x410e6d
jmp case.0x410e93.157
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x44f455
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x2c]
cmp eax, ecx
jae 0x44f48d
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041f3d2
add esp, 0xc
test eax, eax
jne case.0x410e93.157
jmp 0x44f48a
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44f487
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44f487
cmp edx, 1
je case.0x410e93.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x410e93.157
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44f4d2
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0x44f4d2
cmp dword [esi + 0x18], 0
jne 0x44f4d2
cmp dword [esi + 0x1c], 2
jne 0x44f4d2
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44f4cf
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp 0x44f4cf
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x4549b1
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x4110c3
cmp eax, ecx
jae 0x4110c3
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4110c3
add dword [ebp - 8], 2
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
add eax, 2
mov dword [ebp - 8], eax
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x44f579
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f579
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0x100
jae 0x4110c3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x44f5e4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f5e4
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0xff
ja case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x44f64f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f64f
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0x100
jae 0x4110c3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x44f6ba
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f6ba
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0xff
ja case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x44f725
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f725
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0x100
jae 0x4110c3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x44f790
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f790
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0xff
ja case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x410e93.157
jmp 0x4110c3
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov edx, eax
mov dword [ebp - 8], eax
je 0x44f800
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, edx
jne 0x44f800
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, edx
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
mov edx, eax
cmp ecx, 0xd
ja 0x44f86c
je 0x44f821
cmp ecx, 0xa
je 0x4110c3
jbe case.0x410e93.157
cmp ecx, 0xc
ja case.0x410e93.157
jmp 0x44f883
cmp edx, edi
jb 0x44f857
cmp dword [esi + 0x8c], 0
je 0x4110c3
cmp edx, dword [esi + 0x88]
jbe 0x4110c3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp 0x4110c3
cmp word [eax], 0xa
jne 0x4110c3
lea eax, [edx + 2]
mov dword [ebp - 8], eax
jmp 0x4110c3
cmp ecx, 0x85
je 0x44f883
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
cmp dword [esi + 0x6c], 0
jne case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 8], eax
je 0x44f8db
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f8db
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x44f91f
je case.0x410e93.157
cmp ecx, 0xa0
ja 0x44f90e
je case.0x410e93.157
cmp ecx, 9
je case.0x410e93.157
cmp ecx, 0x20
je case.0x410e93.157
jmp 0x4110c3
cmp ecx, 0x1680
je case.0x410e93.157
jmp 0x4110c3
cmp ecx, 0x205f
ja 0x44f956
je case.0x410e93.157
cmp ecx, 0x2000
jb 0x4110c3
cmp ecx, 0x200a
jbe case.0x410e93.157
cmp ecx, 0x202f
je case.0x410e93.157
jmp 0x4110c3
cmp ecx, 0x3000
je case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 8], eax
je 0x44f9b0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f9b0
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x44f9f4
je 0x4110c3
cmp ecx, 0xa0
ja 0x44f9e3
je 0x4110c3
cmp ecx, 9
je 0x4110c3
cmp ecx, 0x20
jne case.0x410e93.157
jmp 0x4110c3
cmp ecx, 0x1680
jne case.0x410e93.157
jmp 0x4110c3
cmp ecx, 0x205f
ja 0x44fa2b
je 0x4110c3
cmp ecx, 0x2000
jb case.0x410e93.157
cmp ecx, 0x200a
jbe 0x4110c3
cmp ecx, 0x202f
jne case.0x410e93.157
jmp 0x4110c3
cmp ecx, 0x3000
jne case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 8], eax
je 0x44fa85
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fa85
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x44faaa
je case.0x410e93.157
cmp ecx, 0xa
jb 0x4110c3
cmp ecx, 0xd
jbe case.0x410e93.157
jmp 0x4110c3
cmp ecx, 0x2028
jb 0x4110c3
cmp ecx, 0x2029
jbe case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 8], eax
je 0x44fb10
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fb10
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x44fb2f
je 0x4110c3
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x410e93.157
jmp 0x4110c3
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
jmp 0x4110c3
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
mov ecx, edx
mov dword [ebp - 0x1c], ecx
jmp 0x411256
cmp eax, 0xa
ja case.default.0x44fb76
jmp dword [eax*4 + 0x4565f0]
mov al, byte [ecx*8 + 0x4ae011]
cmp al, 9
je 0x44fba2
cmp al, 5
je 0x44fba2
cmp al, 8
je 0x44fba2
xor ecx, ecx
jmp 0x44fbbe
cmp edi, 0xf
je case.0x410e93.157
jmp 0x41133a
mov ecx, 1
jmp 0x44fbbe
movzx eax, byte [ecx*8 + 0x4ae011]
xor ecx, ecx
cmp dword [eax*4 + 0x4c3f30], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x410e93.157
jmp 0x41133a
movzx ecx, byte [ecx*8 + 0x4ae011]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4c3f30]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x410e93.157
jmp 0x41133a
movzx eax, byte [ecx*8 + 0x4ae011]
jmp 0x44fc12
movzx eax, byte [ecx*8 + 0x4ae010]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x410e93.157
jmp 0x41133a
movzx eax, byte [ecx*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x44fba2
cmp eax, 3
je 0x44fba2
xor ecx, ecx
jmp 0x44fbbe
cmp edx, 0x180e
ja 0x44fcb1
je case.0x44fb76.0
cmp edx, 0x85
ja 0x44fc94
je case.0x44fb76.0
cmp edx, 9
jb case.0x44fcd5.8203
cmp edx, 0xd
jbe case.0x44fb76.0
cmp edx, 0x20
je case.0x44fb76.0
jmp case.0x44fcd5.8203
cmp edx, 0xa0
je case.0x44fb76.0
cmp edx, 0x1680
je case.0x44fb76.0
jmp case.0x44fcd5.8203
cmp edx, 0x202f
ja 0x44fcdc
je case.0x44fb76.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x44fcd5.8203
movzx eax, byte [edx + 0x456624]
jmp dword [eax*4 + 0x45661c]
cmp edx, 0x205f
je case.0x44fb76.0
cmp edx, 0x3000
je case.0x44fb76.0
jmp case.0x44fcd5.8203
movzx eax, byte [ecx*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x44fba2
cmp eax, 3
je 0x44fba2
cmp dword [ebp - 0x1c], 0x5f
je 0x44fba2
xor ecx, ecx
jmp 0x44fbbe
mov eax, edx
cmp eax, 0x24
je 0x44fba2
cmp eax, 0x40
je 0x44fba2
cmp eax, 0x60
je 0x44fba2
cmp edx, 0xa0
jb 0x44fd5c
cmp edx, 0xd7ff
jbe 0x44fba2
cmp edx, 0xe000
jae 0x44fba2
xor ecx, ecx
jmp 0x44fbbe
cmp edi, 0x10
je case.0x410e93.157
jmp 0x41133a
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx edx, word [eax]
add eax, 2
and edx, 0x3ff
mov dword [ebp - 8], eax
or edx, ecx
mov edi, eax
add edx, 0x10000
jmp 0x411017
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
jmp 0x411070
cmp edi, eax
jb 0x4110c3
jmp 0x44f052
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x38], eax
movzx eax, word [ebx + 4]
add ebx, 6
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x3c], ebx
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x28], edi
dec ecx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x1c], edi
jbe 0x44fe91
mov dword [ebp - 0x30], eax
movzx eax, word [eax]
dec dword [ebp - 0x1c]
lea edi, [eax + eax]
mov dword [ebp - 0x28], edi
cmp edi, dword [ebp + 0xc]
jge 0x44fe3b
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x44fe3b
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x44fe8e
cmp dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x30]
mov eax, dword [esi + 0x24]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], eax
jg 0x44fe18
jmp 0x44fe91
xor eax, eax
cmp edi, 0x72
sete al
mov dword [ebp - 0x38], eax
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x3c], ebx
lea edi, [eax + eax]
mov dword [ebp - 0x28], edi
cmp edi, dword [ebp + 0xc]
jge 0x44fe84
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x44fe84
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x44fe8e
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x18], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x10], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x44feaa
movzx eax, byte [eax + 0x456658]
jmp dword [eax*4 + 0x456650]
mov eax, dword [ebp - 0x10]
add ebx, 2
mov dword [ebp - 0x3c], ebx
lea edi, [eax - 0x62]
and edi, 1
mov dword [ebp - 0x10], edi
movsx edi, byte [eax + 0x4b07fa]
movsx eax, byte [eax + 0x4b07ee]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44fee2
mov dword [ebp - 0x20], bind
mov eax, edi
mov dword [ebp - 0x30], edi
jmp 0x44ff20
cmp word [ebx], 0x69
mov eax, 0
movzx edi, word [ebx + 2]
sete al
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44ff14
mov dword [ebp - 0x20], bind
mov eax, dword [ebp - 0x40]
add ebx, 6
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x410e6d
jns 0x44ff35
mov eax, dword [ebp - 0x30]
test edi, edi
je 0x410e6d
cmp eax, 1
mov dword [ebp - 0x30], 1
mov eax, dword [ebp - 8]
jl 0x44ff77
push dword [ebp - 0x38]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x28]
call fcn.0049b2e9
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x454ad0
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x30]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x18]
jle 0x44ff44
mov edx, dword [ebp - 0x20]
cmp edi, edx
je 0x4110c9
cmp dword [ebp - 0x10], 0
je 0x454a20
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], eax
jge case.0x410e93.157
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov edx, edi
push esi
push dword [ebp - 0x18]
call fcn.0049b2e9
add esp, 0xc
test eax, eax
js 0x4549fa
inc dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x44ffb2
jmp 0x410fda
push dword [ebp - 0x38]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0049b2e9
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x454ad0
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x4110c9
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x450041
movzx eax, byte [eax + 0x456668]
jmp dword [eax*4 + 0x456660]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x3c], ebx
cmp eax, 8
jae 0x45005d
mov edx, eax
and edx, 1
jmp 0x450067
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], 1
movsx ecx, byte [eax + 0x4b085c]
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x4b0850]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], ecx
test ecx, ecx
jne 0x4110fc
mov dword [ebp - 0x38], bind
jmp 0x4110fc
movzx ecx, word [ebx]
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x38], ecx
sete al
mov dword [ebp - 0x28], eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x14], eax
test ecx, ecx
jne 0x4500c1
mov dword [ebp - 0x38], bind
add ebx, 6
mov dword [ebp - 0x3c], ebx
jmp 0x4110fc
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x41113e
cmp edi, 0x6e
je case.0x410e93.157
jmp 0x41116b
cmp eax, 1
jl 0x411177
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x450138
cmp edi, 0x6e
je case.0x410e93.157
jmp 0x45015a
mov esi, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x10]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x410e93.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x450110
jmp 0x41117a
test edx, edx
jne 0x454af8
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x2c], edx
je 0x4502cc
mov ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x14], ecx
jl 0x450191
jmp 0x450252
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x45022d
movzx ecx, word [eax]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x4501e1
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov dword [ebp - 0x1c], 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov edx, ecx
jmp 0x4501e6
mov eax, 1
cmp ecx, 0xff
jbe 0x4501f5
cmp edi, 0x6e
jne 0x45020f
jmp 0x450252
mov ecx, edx
mov dword [ebp - 0x1c], eax
and ecx, 7
shr edx, 3
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
je 0x450252
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x38]
jl 0x45018e
jmp 0x450252
cmp dword [esi + 0x8c], 0
je 0x450252
cmp eax, dword [esi + 0x88]
jbe 0x450252
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
cmp dword [ebp - 0x28], 0
jne 0x4110c9
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x18]
je case.0x410e93.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4502a8
add edi, 0xfffffffe
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x450282
jmp 0x410fda
mov edx, dword [ebp - 0x38]
cmp dword [ebp - 0x14], edx
jge 0x450344
mov ecx, dword [ebp - 0x14]
cmp eax, dword [esi + 0x7c]
jae 0x45031c
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x4502ee
cmp edi, 0x6e
jne 0x45030b
jmp 0x450341
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0x450341
mov ecx, dword [ebp - 0x14]
inc ecx
add eax, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x38]
jl 0x4502d7
jmp 0x450341
cmp dword [esi + 0x8c], 0
je 0x450341
cmp eax, dword [esi + 0x88]
jbe 0x450341
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x28], 0
jne 0x4110c9
cmp eax, ecx
jb case.0x410e93.157
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
sub edi, 2
cmp edi, dword [ebp - 0x18]
jae 0x450359
jmp 0x410fda
lea eax, [ebx + 4]
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 2]
movzx edi, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov ecx, edi
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x10], ecx
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x4503b5
movzx eax, byte [eax + 0x45667c]
jmp dword [eax*4 + 0x456674]
lea edi, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x3c], ebx
cmp edi, 8
jae 0x4503d7
mov ecx, dword [ebp - 0x28]
mov eax, edi
and eax, 1
mov dword [ebp - 0x34], eax
jmp 0x4503e2
mov eax, dword [ebp - 0x34]
mov ecx, 1
mov dword [ebp - 0x28], ecx
mov esi, dword [ebp - 0x10]
movsx edi, byte [edi + 0x4b085c]
mov dword [ebp - 0x20], edi
movsx esi, byte [esi + 0x4b07ee]
mov dword [ebp - 0x18], esi
test esi, esi
mov esi, dword [ebp + 0x10]
jne 0x45045b
mov edx, dword [ebp - 8]
mov dword [ebp - 0x18], bind
jmp 0x45045b
movzx esi, word [ebx + 4]
xor eax, eax
cmp edi, 0x69
mov dword [ebp - 0x18], esi
sete al
xor ecx, ecx
cmp edi, 0x6d
mov dword [ebp - 0x34], eax
movzx edi, word [ebx + 2]
sete cl
mov dword [ebp - 0x20], edi
test esi, esi
mov dword [ebp - 0x28], ecx
mov esi, dword [ebp + 0x10]
jne 0x45043e
mov dword [ebp - 0x18], bind
add ebx, 6
mov dword [ebp - 0x3c], ebx
jmp 0x45045b
mov eax, dword [ebp - 0x34]
mov edi, 1
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], 1
cmp edi, 1
jl 0x4504d9
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
test edx, edx
je 0x4504b1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4504b1
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
push edx
mov edx, dword [ebp - 0x24]
call fcn.0049b4ed
add esp, 4
test eax, eax
je case.0x410e93.157
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, edi
jle 0x450467
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
cmp edi, dword [ebp - 0x18]
je 0x410e6d
test eax, eax
jne 0x454c70
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp edi, dword [ebp - 0x18]
jl 0x4504ff
mov edi, eax
jmp 0x4505a3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x450578
mov edx, dword [ebp - 0x2c]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
test edx, edx
je 0x45054e
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
cmp eax, 0xd800
jne 0x45054e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x24]
call fcn.0049b4ed
add esp, 4
test eax, eax
je 0x4505a0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x18]
jl 0x4504fc
jmp 0x45059d
cmp dword [esi + 0x8c], 0
je 0x45059d
cmp eax, dword [esi + 0x88]
jbe 0x45059d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jne 0x4110c9
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x10]
je case.0x410e93.157
cmp dword [ebp - 0x2c], 0
je 0x4505fa
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4505fa
add edi, 0xfffffffe
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x4505ce
jmp 0x410fda
mov edi, 2
mov dword [ebp - 0x30], edi
jmp 0x411377
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x454bd9
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x410e93.157
add ebx, 4
jmp 0x4110c6
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x30], 2
add ecx, 0x10000
mov edx, ecx
mov edi, ecx
mov dword [ebp - 0x24], edx
jmp 0x4111e2
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4506c0
mov ecx, dword [ebp - 8]
and edi, 0x3ff
shl edi, 0xa
movzx eax, word [ecx]
add ecx, 2
and eax, 0x3ff
mov dword [ebp - 8], ecx
or edi, eax
add edi, 0x10000
mov eax, dword [ebp - 0x30]
cmp edx, edi
mov edx, dword [ebp - 8]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x3c], ebx
je 0x410e6d
mov edx, dword [ebp - 0x24]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
mov eax, dword [eax*8 + 0x4ae014]
add eax, edx
cmp edi, eax
jne case.0x410e93.157
jmp 0x4110c9
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x450725
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x450727
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x45073e
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x410e93.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
jmp 0x4110c6
movzx eax, word [ebx + 2]
lea ecx, [ebx + 4]
mov dword [ebp - 0x20], ecx
mov ebx, ecx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], eax
jmp 0x450830
mov edx, 1
mov dword [ebp - 0x28], edx
jmp 0x45077e
mov edx, dword [ebp - 0x28]
movzx esi, word [ebx + 2]
xor eax, eax
mov dword [ebp - 0xc], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
cmp ecx, 0x28
je 0x45079b
cmp ecx, 0x35
je 0x45079b
xor ecx, ecx
jmp 0x4507a0
mov ecx, 1
add ebx, 4
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x3c], ebx
jmp 0x450833
mov edx, 1
xor eax, eax
jmp 0x4507c1
mov edx, 1
mov eax, edx
mov dword [ebp - 0xc], bind
jmp 0x4507d4
mov edx, 1
xor eax, eax
mov dword [ebp - 0xc], edx
lea ecx, [ebx + 2]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
mov ebx, ecx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
jmp 0x450833
cmp edi, 0x2e
lea edx, [ebx + 2]
mov ecx, edi
mov dword [ebp - 0x20], edx
sbb eax, eax
mov ebx, edx
and eax, 0xfffffff3
mov dword [ebp - 0x3c], ebx
add eax, 0x2e
sub ecx, eax
mov eax, ecx
and ecx, 1
mov dword [ebp - 0x34], ecx
movsx edx, byte [eax + 0x4b085c]
movsx eax, byte [eax + 0x4b0850]
mov dword [ebp - 0xc], eax
test eax, eax
mov dword [ebp - 0x14], edx
mov eax, edx
jne 0x450830
mov dword [ebp - 0xc], bind
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], 0
je 0x450ad2
mov eax, dword [ebp - 0x20]
mov ebx, 1
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x30], ebx
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x45089c
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x38]
and ebx, 0x3ff
mov dword [ebp - 0x1c], 2
shl ebx, 0xa
movzx eax, word [eax + 2]
and eax, 0x3ff
or ebx, eax
add ebx, 0x10000
mov dword [ebp - 0x38], ebx
mov ebx, 2
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x3c]
lea ebx, [eax + ebx*2]
mov dword [ebp - 0x3c], ebx
jbe 0x450abf
cmp edi, 0x2e
jb 0x4508f8
mov edi, dword [ebp - 0x18]
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
mov ecx, dword [eax*8 + 0x4ae014]
add ecx, edi
cmp ecx, edi
je 0x4508f5
lea edx, [ebp - 0x74]
call fcn.0049b994
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
jmp 0x4508ff
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], 0
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x24], 1
cmp edi, 1
jl 0x450998
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [esi + 0x7c]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x450943
push ecx
push dword [ebp - 0x20]
push edi
call fcn.00421714
add esp, 0xc
test eax, eax
jne 0x450943
mov ecx, dword [ebp - 0x30]
mov eax, edi
add eax, ecx
mov dword [ebp - 8], eax
jmp 0x450982
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x454a02
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x454a02
push ecx
lea eax, [ebp - 0x74]
push eax
push edi
call fcn.00421714
add esp, 0xc
test eax, eax
jne 0x454a02
mov ecx, dword [ebp - 0x18]
lea edi, [edi + ecx*2]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
mov eax, edi
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x24], edx
cmp edx, edi
jle 0x45091a
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x28]
jmp 0x45099b
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 0xc]
je 0x4110c9
test ecx, ecx
jne 0x454d3b
mov ecx, eax
mov dword [ebp - 0x38], ecx
cmp edi, dword [ebp - 0xc]
jge 0x450a5d
mov eax, dword [ebp - 0x1c]
lea edx, [eax + eax]
mov dword [ebp - 0x30], edx
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, edx
cmp ecx, eax
ja 0x4509eb
push edx
push dword [ebp - 0x20]
push ecx
call fcn.00421714
add esp, 0xc
test eax, eax
jne 0x4509e8
mov edx, dword [ebp - 0x30]
add dword [ebp - 8], edx
jmp 0x450a1f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x450a27
lea edx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, edx
cmp ecx, eax
ja 0x450a27
push edx
lea eax, [ebp - 0x74]
push eax
push ecx
call fcn.00421714
add esp, 0xc
test eax, eax
jne 0x450a27
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
inc edi
cmp edi, dword [ebp - 0xc]
jl 0x4509c3
jmp 0x450a54
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x450a57
cmp eax, dword [esi + 0x7c]
jb 0x450a54
cmp eax, dword [esi + 0x88]
jbe 0x450a54
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x38]
test edx, edx
jne 0x4110c9
cmp eax, ecx
jbe 0x410f91
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x450ab5
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x38]
ja 0x450a70
jmp 0x410f91
mov eax, dword [ebp - 0x18]
mov esi, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], esi
jmp 0x450aed
mov esi, dword [ebp - 0x20]
add ebx, 2
mov dword [ebp - 0x3c], ebx
movzx esi, word [esi]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x30], esi
mov esi, dword [ebp + 0x10]
cmp edi, 0x2e
jb 0x450c42
cmp dword [ebp - 0x2c], 0
je 0x450b37
cmp dword [ebp - 0x18], 0x7f
mov eax, dword [ebp - 0x30]
jbe 0x450b3a
mov edi, dword [ebp - 0x24]
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax*8 + 0x4ae014]
add eax, edi
jmp 0x450b50
mov eax, dword [ebp - 0x1c]
cmp eax, 0xff
ja 0x450b4d
mov eax, dword [esi + 0x40]
mov edi, dword [ebp - 0x38]
movzx eax, byte [eax + edi]
jmp 0x450b50
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp edi, 1
jl 0x450b99
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx esi, word [eax]
cmp dword [ebp - 0x38], esi
mov dword [ebp - 0x10], esi
mov esi, dword [ebp + 0x10]
je 0x450b8b
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp - 0x10]
mov esi, dword [ebp + 0x10]
jne case.0x410e93.157
inc dword [ebp - 0x18]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], edi
jle 0x450b65
cmp edi, dword [ebp - 0xc]
je 0x4110c9
test ecx, ecx
jne 0x454df7
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp edi, dword [ebp - 0xc]
jge 0x450bfc
cmp eax, dword [esi + 0x7c]
jae 0x450bd4
movzx ecx, word [eax]
cmp dword [ebp - 0x38], ecx
je 0x450bc6
cmp dword [ebp - 0x1c], ecx
jne 0x450bf9
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0xc]
jl 0x450bb4
jmp 0x450bf9
cmp dword [esi + 0x8c], 0
je 0x450bf9
cmp eax, dword [esi + 0x88]
jbe 0x450bf9
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov ecx, dword [ebp - 0x18]
test edx, edx
jne 0x4110c9
cmp eax, ecx
je 0x410f91
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x410fda
cmp edi, dword [ebp - 0x18]
jne 0x450c0f
jmp 0x410f91
mov dword [ebp - 0x1c], 1
cmp eax, 1
jge 0x450c53
mov edi, dword [ebp - 8]
jmp 0x450c7f
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x38], eax
jne case.0x410e93.157
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], eax
jle 0x450c53
cmp eax, dword [ebp - 0xc]
je 0x4110c9
test ecx, ecx
jne 0x454e6e
mov eax, dword [ebp - 8]
mov edi, eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edi
cmp ecx, dword [ebp - 0xc]
jge 0x450cc2
mov edi, dword [ebp - 0x38]
cmp eax, dword [esi + 0x7c]
jae 0x450d08
movzx eax, word [eax]
cmp edi, eax
jne 0x450cbc
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jl 0x450ca3
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x18]
test edx, edx
jne 0x4110c9
cmp eax, edi
je 0x410f91
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x410fda
cmp edi, dword [ebp - 0x18]
jne 0x450cd5
jmp 0x410f91
cmp dword [esi + 0x8c], 0
je 0x450cbf
cmp eax, dword [esi + 0x88]
jbe 0x450cbf
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp 0x450cbf
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
cmp dword [ebp - 0x2c], 0
movzx ecx, word [ebx + 2]
je 0x450e52
mov eax, ecx
add ebx, 4
and eax, 0xfc00
mov dword [ebp - 0x3c], ebx
mov edx, ecx
cmp eax, 0xd800
jne 0x450d80
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x3c], ebx
mov edx, ecx
mov eax, dword [ebp - 8]
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], eax
and eax, 0xfc00
mov dword [ebp - 0x20], esi
mov esi, dword [ebp + 0x10]
cmp eax, 0xd800
jne 0x450ddf
mov eax, dword [ebp - 8]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
movzx eax, word [eax]
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], eax
jmp 0x450de2
mov eax, dword [ebp - 0x1c]
cmp edi, 0x1f
jne 0x450df4
cmp edx, eax
je case.0x410e93.157
jmp 0x4110c9
cmp edx, 0x7f
jbe 0x450e25
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
mov ecx, dword [eax*8 + 0x4ae014]
mov eax, dword [ebp - 0x30]
add ecx, edx
jmp 0x450e3c
cmp edx, 0xff
ja 0x450e39
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 0x24]
jmp 0x450e3c
mov eax, dword [ebp - 0x18]
cmp edx, eax
je case.0x410e93.157
cmp ecx, dword [ebp - 0x20]
je case.0x410e93.157
jmp 0x4110c9
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x410e93.157
cmp edi, 0x20
jne 0x44e863
cmp ecx, 0xff
ja 0x450e7b
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x410e93.157
add ebx, 4
jmp 0x4110c6
movzx eax, word [ebx + 2]
add ebx, 4
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], ebx
jmp 0x450f58
movzx edx, word [ebx + 2]
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], edx
cmp ecx, 0x42
je 0x450ebd
cmp ecx, 0x4f
je 0x450ebd
xor ecx, ecx
jmp 0x450ec2
mov ecx, 1
add ebx, 4
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], ebx
jmp 0x450f58
mov edx, 1
xor eax, eax
jmp 0x450ee0
mov edx, 1
mov eax, edx
mov dword [ebp - 0xc], bind
jmp 0x450ef3
mov edx, 1
xor eax, eax
mov dword [ebp - 0xc], edx
add ebx, 2
jmp 0x450f09
movzx ecx, word [ebx + 2]
xor eax, eax
mov edx, 1
mov dword [ebp - 0xc], ecx
add ebx, 4
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], ebx
jmp 0x450f5b
cmp edi, 0x48
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
mov dword [ebp - 0x20], ebx
add eax, 0x48
sub ecx, eax
mov eax, ecx
and ecx, 1
mov dword [ebp - 0x34], ecx
movsx edx, byte [eax + 0x4b085c]
movsx eax, byte [eax + 0x4b0850]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x450f55
mov eax, ebx
mov dword [ebp - 0xc], bind
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
movzx ebx, word [ebx]
mov dword [ebp - 0x28], ebx
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
add ebx, 2
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x3c], ebx
je 0x450fd3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x450fd0
mov esi, dword [ebp - 0x28]
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or eax, esi
mov esi, dword [ebp + 0x10]
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
cmp edi, 0x48
jb 0x4512d7
cmp dword [ebp - 0x2c], 0
je 0x451020
cmp dword [ebp - 0x18], 0x7f
mov edi, dword [ebp - 0x1c]
jbe 0x451023
mov edi, dword [ebp - 0x20]
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax*8 + 0x4ae014]
add eax, edi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
jmp 0x45103b
mov edi, dword [ebp - 0x38]
cmp edi, 0xff
mov edi, dword [ebp - 0x28]
ja 0x451038
mov eax, dword [esi + 0x40]
movzx edi, byte [eax + edi]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x2c], 0
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x38], 1
je 0x4510d3
cmp eax, 1
jl 0x451113
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
mov dword [ebp - 0x30], eax
and eax, 0xfc00
mov dword [ebp - 0x20], esi
cmp eax, 0xd800
jne 0x4510ab
mov eax, dword [ebp - 8]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
movzx eax, word [eax]
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add dword [ebp - 8], 2
mov esi, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
je case.0x410e93.157
mov esi, dword [ebp - 0x18]
cmp esi, dword [ebp - 0x30]
mov esi, dword [ebp + 0x10]
je case.0x410e93.157
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jle 0x451058
jmp 0x451116
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x451116
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx esi, word [eax]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x28], esi
je case.0x410e93.157
mov esi, dword [ebp - 0x18]
cmp esi, dword [ebp - 0x10]
mov esi, dword [ebp + 0x10]
je case.0x410e93.157
inc dword [ebp - 0x38]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x38], edi
jle 0x4510db
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 0xc]
je 0x4110c9
test ecx, ecx
jne 0x454edd
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x34], ecx
je 0x451241
cmp edi, dword [ebp - 0xc]
jge 0x4511b5
cmp eax, dword [esi + 0x7c]
jae 0x451217
movzx eax, word [eax]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], eax
and eax, 0xfc00
mov dword [ebp - 0x24], 1
cmp eax, 0xd800
jne 0x45118b
and dword [ebp - 0x20], 0x3ff
movzx eax, word [ecx + 2]
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x30], eax
jmp 0x45118e
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp + 0x10]
cmp dword [ebp - 0x28], eax
je 0x4511af
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x30]
je 0x4511af
mov eax, dword [ebp - 0x24]
inc edi
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edi, dword [ebp - 0xc]
jl 0x45113b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
test edx, edx
jne 0x4110c9
cmp eax, ecx
jbe 0x410f91
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x45120d
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x34]
ja 0x4511c8
jmp 0x410f91
cmp dword [esi + 0x8c], 0
je 0x4511b2
cmp eax, dword [esi + 0x88]
jbe 0x4511b2
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp 0x4511b2
cmp edi, dword [ebp - 0xc]
jge 0x451291
cmp eax, dword [esi + 0x7c]
jae 0x451269
movzx ecx, word [eax]
mov esi, dword [ebp + 0x10]
cmp dword [ebp - 0x28], ecx
je 0x45128e
cmp dword [ebp - 0x18], ecx
je 0x45128e
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0xc]
jl 0x451246
jmp 0x45128e
cmp dword [esi + 0x8c], 0
je 0x45128e
cmp eax, dword [esi + 0x88]
jbe 0x45128e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov ecx, dword [ebp - 0x34]
test edx, edx
jne 0x4110c9
cmp eax, ecx
je 0x410f91
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x34]
jne 0x4512a4
jmp 0x410f91
cmp dword [ebp - 0x2c], 0
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x20], 1
je 0x451359
cmp eax, 1
jl 0x45138a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
and eax, 0xfc00
mov dword [ebp - 0x18], esi
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x451340
movzx eax, word [eax]
and dword [ebp - 0x18], 0x3ff
and eax, 0x3ff
shl dword [ebp - 0x18], 0xa
or eax, dword [ebp - 0x18]
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0x28]
cmp esi, dword [ebp - 0x18]
mov esi, dword [ebp + 0x10]
je case.0x410e93.157
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x4512f0
jmp 0x45138d
cmp eax, 1
jl 0x45138a
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x454bd9
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x28], eax
je case.0x410e93.157
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, edi
jle 0x451361
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 0xc]
je 0x4110c9
test ecx, ecx
jne 0x454fee
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x38], ecx
je 0x4514a7
cmp edi, dword [ebp - 0xc]
jge 0x45141b
cmp eax, dword [esi + 0x7c]
jae 0x45147d
movzx eax, word [eax]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], eax
and eax, 0xfc00
mov dword [ebp - 0x30], 1
cmp eax, 0xd800
jne 0x4513fc
and dword [ebp - 0x18], 0x3ff
movzx eax, word [ecx + 2]
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
mov dword [ebp - 0x30], 2
jmp 0x4513ff
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
je 0x451415
mov eax, dword [ebp - 0x30]
inc edi
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edi, dword [ebp - 0xc]
jl 0x4513b2
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x38]
test edx, edx
jne 0x4110c9
cmp eax, ecx
jbe 0x410f91
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x451473
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x38]
ja 0x45142e
jmp 0x410f91
cmp dword [esi + 0x8c], 0
je 0x451418
cmp eax, dword [esi + 0x88]
jbe 0x451418
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp 0x451418
cmp edi, dword [ebp - 0xc]
jge 0x4514ce
mov ecx, dword [ebp - 0x28]
cmp eax, dword [esi + 0x7c]
jae 0x451514
movzx eax, word [eax]
cmp ecx, eax
je 0x4514c8
add dword [ebp - 8], 2
inc edi
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 0xc]
jl 0x4514af
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x38]
test edx, edx
jne 0x4110c9
cmp eax, ecx
je 0x410f91
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x38]
jne 0x4514e1
jmp 0x410f91
cmp dword [esi + 0x8c], 0
je 0x4514cb
cmp eax, dword [esi + 0x88]
jbe 0x4514cb
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp 0x4514cb
movzx edi, word [ebx + 2]
mov eax, 1
add ebx, 4
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], edi
mov ecx, ebx
mov dword [ebp - 0x34], eax
jmp 0x4113ee
movzx edi, word [ebx + 2]
xor eax, eax
cmp ecx, 0x5c
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], edi
sete al
add ebx, 4
mov dword [ebp - 0x34], eax
mov ecx, ebx
jmp 0x4113ee
mov eax, dword [ebp - 0x34]
mov edx, 1
add ebx, 2
mov dword [ebp - 0x28], edx
mov dword [ebp - 0xc], 0
mov ecx, ebx
mov dword [ebp - 0x14], bind
jmp 0x4113f1
mov eax, dword [ebp - 0x34]
mov edx, 1
add ebx, 2
mov dword [ebp - 0x28], edx
mov dword [ebp - 0xc], edx
mov ecx, ebx
mov dword [ebp - 0x14], bind
jmp 0x4113f1
mov eax, dword [ebp - 0x34]
mov edx, 1
add ebx, 2
mov dword [ebp - 0x28], edx
mov dword [ebp - 0xc], 0
mov ecx, ebx
mov dword [ebp - 0x14], edx
jmp 0x4113f1
movzx edi, word [ebx + 2]
mov edx, 1
mov eax, dword [ebp - 0x34]
add ebx, 4
mov dword [ebp - 0x28], edx
mov ecx, ebx
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], edi
jmp 0x4113f1
xor eax, eax
jmp 0x4113cc
xor eax, eax
cmp edi, 0xf
movzx edi, word [ebx]
sete al
mov dword [ebp - 0x44], eax
lea eax, [ebx + 2]
movzx ebx, word [eax]
mov dword [ebp - 0x48], ebx
lea ebx, [eax + 2]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], ebx
jmp 0x411412
test edi, edi
js 0x451dc3
cmp edi, 0xa
ja case.default.0x44fb76
jmp dword [edi*4 + 0x456688]
cmp dword [ebp - 0x44], 0
jne case.0x410e93.157
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 8], edi
je 0x45168b
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x45168b
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x45165f
jmp 0x4520d7
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edi
je 0x4516fa
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4516fa
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
add edi, 2
or ecx, eax
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp eax, 9
je 0x451731
cmp eax, 5
je 0x451731
cmp eax, 8
je 0x451731
xor eax, eax
jmp 0x451736
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4516af
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edi
je 0x4517b2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4517b2
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
add edi, 2
or ecx, eax
mov dword [ebp - 8], edi
add ecx, 0x10000
mov esi, dword [ebp - 0x48]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp dword [eax*4 + 0x4c3f30], esi
mov esi, dword [ebp + 0x10]
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x451767
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edi
je 0x451864
and eax, 0xfc00
cmp eax, 0xd800
jne 0x451864
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
add edi, 2
or ecx, eax
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
mov esi, dword [ebp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp eax, dword [ebp - 0x48]
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x451819
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edi
je 0x45190f
and eax, 0xfc00
cmp eax, 0xd800
jne 0x45190f
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
add edi, 2
or ecx, eax
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
mov esi, dword [ebp + 0x10]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae010]
cmp eax, dword [ebp - 0x48]
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4518c4
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edi
je 0x4519ba
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4519ba
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
add edi, 2
or ecx, eax
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x4519f3
cmp eax, 3
je 0x4519f3
xor eax, eax
jmp 0x4519f8
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x45196f
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
mov eax, dword [ebp - 0xc]
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 8], edi
je 0x451a74
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x451a71
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0xc]
cmp ecx, 0x180e
ja 0x451ac1
je 0x451b47
cmp ecx, 0x85
ja 0x451aa8
je 0x451b47
cmp ecx, 9
jb case.0x451add.8203
cmp ecx, 0xd
jbe 0x451b47
cmp ecx, 0x20
jne case.0x451add.8203
jmp 0x451b47
cmp ecx, 0xa0
je 0x451b47
cmp ecx, 0x1680
jne case.0x451add.8203
jmp 0x451b47
cmp ecx, 0x202f
ja 0x451ae4
je 0x451b47
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x451add.8203
movzx eax, byte [eax + 0x4566bc]
jmp dword [eax*4 + 0x4566b4]
cmp ecx, 0x205f
je 0x451b47
cmp ecx, 0x3000
je 0x451b47
mov eax, ecx
test eax, eax
jns 0x451afd
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
and ecx, 0x8000007f
jns 0x451b17
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp dword [eax*4 + 0x4c3f30], 6
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp - 0xc]
jmp 0x451b51
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x44], 0
jne case.0x410e93.157
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, eax
jle 0x451a2c
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov dword [ebp - 0x24], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], ecx
je 0x451bc9
and eax, 0xfc00
mov dword [ebp - 0x1c], ecx
cmp eax, 0xd800
jne 0x451bc9
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add edi, 2
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], ecx
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, dword [ebp - 0x1c]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x451c0b
cmp eax, 3
je 0x451c0b
cmp dword [ebp - 0x1c], 0x5f
je 0x451c0b
xor eax, eax
jmp 0x451c10
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x451b78
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], ecx
je 0x451c8f
mov eax, ecx
mov dword [ebp - 0x1c], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x451c8f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x48]
mov esi, dword [eax*4 + 0x4af690]
lea eax, [eax*4 + 0x4af690]
cmp dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], esi
mov esi, dword [ebp + 0x10]
jb 0x451cc2
lea eax, [eax + 4]
mov edi, dword [ebp - 8]
cmp ecx, dword [ebp - 0x24]
je 0x451ce1
mov esi, dword [eax]
cmp ecx, esi
mov dword [ebp - 0x24], esi
mov esi, dword [ebp + 0x10]
jae 0x451cab
cmp dword [ebp - 0x44], 0
je case.0x410e93.157
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x451c41
jmp 0x4520d4
cmp dword [ebp - 0x44], 0
jne case.0x410e93.157
jmp 0x451ccc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
je 0x451d72
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x451d6f
movzx eax, word [edi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
add eax, 0x10000
add edi, 2
mov ecx, eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], ecx
jmp 0x451d72
mov eax, dword [ebp - 0x40]
cmp ecx, 0x24
je 0x451da0
cmp dword [ebp - 0x1c], 0x40
je 0x451da0
cmp dword [ebp - 0x18], 0x60
je 0x451da0
cmp dword [ebp - 0x20], 0xa0
jb 0x451d95
cmp dword [ebp - 0x24], 0xd7ff
jbe 0x451da0
cmp eax, 0xe000
jae 0x451da0
xor eax, eax
jmp 0x451da5
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x451d00
jmp 0x4520d4
mov edi, dword [ebp - 0x38]
cmp edi, 0x16
jne 0x451f58
mov edi, dword [ebp - 8]
mov dword [ebp - 0x40], 1
cmp ecx, 1
jl 0x411423
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x10], eax
cmp edi, eax
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 8], edi
je 0x451e41
mov ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x451e41
mov eax, dword [ebp - 0x24]
movzx ecx, word [edi]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
add edi, 2
or ecx, eax
mov dword [ebp - 8], edi
add ecx, 0x10000
mov dword [ebp - 0x18], edi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
mov ecx, dword [esi + 0x7c]
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae012]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x451f1a
mov ebx, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, eax
cmp dword [ebp - 0x2c], 0
mov esi, 1
movzx ecx, word [edi]
je 0x451ebb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x451ebb
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, ecx
mov dword [ebp - 0x18], edx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx ecx, byte [eax*8 + 0x4ae012]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c0e20], eax
je 0x451f08
lea edi, [edx + esi*2]
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
mov edx, edi
mov eax, edi
cmp edi, ecx
jb 0x451e80
jmp 0x451f0e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x451f43
cmp eax, ecx
jb 0x451f43
cmp eax, dword [esi + 0x88]
jbe 0x451f43
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x451de2
jmp 0x4520d4
cmp dword [ebp - 0x2c], 0
lea ecx, [edi - 6]
je 0x4526db
cmp ecx, 0xf
ja case.default.0x44fb76
jmp dword [ecx*4 + 0x4566e8]
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x4527cd
mov edx, dword [esi + 0x18]
test edx, edx
je 0x451fb9
push dword [ebp - 0x2c]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041f3d2
add esp, 0xc
test eax, eax
jne case.0x410e93.157
jmp 0x451fe5
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x451fe5
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x451fe5
cmp edx, 1
je case.0x410e93.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x410e93.157
cmp dword [esi + 0x8c], 0
je 0x45201f
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x45201f
cmp dword [esi + 0x18], 0
jne 0x45201f
cmp dword [esi + 0x1c], 2
jne 0x45201f
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x45201f
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov ecx, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x452047
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x452047
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0xc]
jle 0x451f8e
mov edx, dword [ebp - 0x28]
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x411423
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x1c]
cmp edi, ecx
jae 0x4527cd
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x4520ae
mov ax, word [edi]
mov dword [ebp - 0x10], 0xfc00
and ax, word [ebp - 0x10]
mov dword [ebp - 0x10], 0xdc00
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
jne 0x4520ae
add edi, 2
mov dword [ebp - 8], edi
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0xc]
jle 0x452078
jmp 0x4520d4
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja case.0x410e93.157
add edi, ecx
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
jmp 0x411423
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x40], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
mov dword [ebp - 0x10], edi
cmp eax, 0xd800
jne 0x45213a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], edi
mov eax, edi
cmp ecx, 0xd
ja 0x45216c
je 0x452156
cmp ecx, 0xa
je 0x45218d
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x410e93.157
jmp 0x452183
cmp eax, dword [esi + 0x7c]
jae 0x45218d
cmp word [edi], 0xa
jne 0x45218d
mov edi, dword [ebp - 0x10]
add edi, 2
mov dword [ebp - 8], edi
jmp 0x45218d
cmp ecx, 0x85
je 0x452183
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
cmp dword [esi + 0x6c], 0
jne case.0x410e93.157
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4520f5
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4521f7
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x452235
je case.0x410e93.157
cmp ecx, 0xa0
ja 0x452227
je case.0x410e93.157
cmp ecx, 9
je case.0x410e93.157
cmp ecx, 0x20
je case.0x410e93.157
jmp 0x452271
cmp ecx, 0x1680
je case.0x410e93.157
jmp 0x452271
cmp ecx, 0x205f
ja 0x452265
je case.0x410e93.157
cmp ecx, 0x2000
jb 0x452271
cmp ecx, 0x200a
jbe case.0x410e93.157
cmp ecx, 0x202f
je case.0x410e93.157
jmp 0x452271
cmp ecx, 0x3000
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4521b8
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4522db
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x45230d
je 0x452345
cmp ecx, 0xa0
ja 0x4522ff
je 0x452345
cmp ecx, 9
je 0x452345
cmp ecx, 0x20
jne case.0x410e93.157
jmp 0x452345
cmp ecx, 0x1680
jne case.0x410e93.157
jmp 0x452345
cmp ecx, 0x205f
ja 0x452339
je 0x452345
cmp ecx, 0x2000
jb case.0x410e93.157
cmp ecx, 0x200a
jbe 0x452345
cmp ecx, 0x202f
jne case.0x410e93.157
jmp 0x452345
cmp ecx, 0x3000
jne case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x45229c
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4523af
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0x4523cd
je case.0x410e93.157
cmp ecx, 0xa
jb 0x4523e1
cmp ecx, 0xd
jbe case.0x410e93.157
jmp 0x4523e1
cmp ecx, 0x2028
jb 0x4523e1
cmp ecx, 0x2029
jbe case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452370
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x452447
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0x45245f
je 0x45246e
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x410e93.157
jmp 0x45246e
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452408
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4524d4
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cmp eax, 0x80
jae 0x4524ea
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452495
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
add edi, 2
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452511
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x4527cd
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x452589
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x410e93.157
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x4525b1
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [esi + 0x7c]
jne 0x4525b1
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452566
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
add edi, 2
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4525d8
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x4527cd
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x452650
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x410e93.157
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x452678
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [esi + 0x7c]
jne 0x452678
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x45262d
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
add edi, 2
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x45269f
jmp 0x4520d4
cmp ecx, 0xf
ja case.default.0x44fb76
jmp dword [ecx*4 + 0x456728]
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x4527cd
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45272e
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.0041f3d2
add esp, 0xc
test eax, eax
jne case.0x410e93.157
jmp 0x45275a
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x45275a
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x45275a
cmp edx, 1
je case.0x410e93.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x410e93.157
cmp dword [esi + 0x8c], 0
je 0x452794
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x452794
cmp dword [esi + 0x18], 0
jne 0x452794
cmp dword [esi + 0x1c], 2
jne 0x452794
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x452794
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov eax, dword [ebp - 0x10]
add edi, 2
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], eax
cmp eax, ecx
jle 0x452701
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x28]
jmp 0x411423
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
jbe 0x4520cf
cmp dword [esi + 0x8c], 0
je case.0x410e93.157
cmp edi, dword [esi + 0x88]
jmp 0x4549cc
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
ja 0x452837
je 0x452825
cmp eax, 0xa
je 0x452856
add eax, 0xfffffff5
cmp eax, 1
ja case.0x410e93.157
jmp 0x45284c
cmp edi, ecx
jae 0x452856
cmp word [edi], 0xa
jne 0x452856
add edi, 2
mov dword [ebp - 8], edi
jmp 0x452856
cmp eax, 0x85
je 0x45284c
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x410e93.157
cmp dword [esi + 0x6c], 0
jne case.0x410e93.157
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0xc]
jle 0x4527fe
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x4528cd
je case.0x410e93.157
cmp ecx, 0xa0
ja 0x4528bf
je case.0x410e93.157
cmp ecx, 9
je case.0x410e93.157
cmp ecx, 0x20
je case.0x410e93.157
jmp 0x452909
cmp ecx, 0x1680
je case.0x410e93.157
jmp 0x452909
cmp ecx, 0x205f
ja 0x4528fd
je case.0x410e93.157
cmp ecx, 0x2000
jb 0x452909
cmp ecx, 0x200a
jbe case.0x410e93.157
cmp ecx, 0x202f
je case.0x410e93.157
jmp 0x452909
cmp ecx, 0x3000
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x45287d
jmp 0x4520d7
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x452978
je 0x4529b0
cmp ecx, 0xa0
ja 0x45296a
je 0x4529b0
cmp ecx, 9
je 0x4529b0
cmp ecx, 0x20
jne case.0x410e93.157
jmp 0x4529b0
cmp ecx, 0x1680
jne case.0x410e93.157
jmp 0x4529b0
cmp ecx, 0x205f
ja 0x4529a4
je 0x4529b0
cmp ecx, 0x2000
jb case.0x410e93.157
cmp ecx, 0x200a
jbe 0x4529b0
cmp ecx, 0x202f
jne case.0x410e93.157
jmp 0x4529b0
cmp ecx, 0x3000
jne case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452934
jmp 0x4520d7
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0x452a0b
je case.0x410e93.157
cmp ecx, 0xa
jb 0x452a1f
cmp ecx, 0xd
jbe case.0x410e93.157
jmp 0x452a1f
cmp ecx, 0x2028
jb 0x452a1f
cmp ecx, 0x2029
jbe case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4529db
jmp 0x4520d7
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x4520d7
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
ja 0x452a6a
je 0x452a78
add eax, 0xfffffff6
cmp eax, 3
ja case.0x410e93.157
jmp 0x452a78
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x410e93.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452a41
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0xc], ecx
jl 0x4520d7
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
mov dword [ebp - 0x40], 0xff
cmp ax, word [ebp - 0x40]
ja 0x452ac2
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452a97
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x410e93.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
add edi, 2
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452aec
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0xc], ecx
jl 0x4520d7
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
mov dword [ebp - 0x40], 0xff
cmp ax, word [ebp - 0x40]
ja 0x452b6b
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452b40
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x410e93.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
add edi, 2
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452b95
jmp 0x4520d4
mov edi, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0xc], ecx
jl 0x4520d7
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
mov dword [ebp - 0x40], 0xff
cmp ax, word [ebp - 0x40]
ja 0x452c14
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x410e93.157
mov ecx, dword [ebp - 0x10]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452be9
jmp 0x4520d4
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x411423
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x410e93.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x410e93.157
mov ecx, dword [ebp - 0x10]
add edi, 2
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x452c3e
jmp 0x4520d4
mov dword [ebp - 0x20], edi
test eax, eax
js 0x45352c
cmp eax, 0xa
ja case.default.0x44fb76
jmp dword [eax*4 + 0x456768]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
jge 0x4534c8
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
mov ecx, 1
je 0x452cd7
mov ax, word [edi]
mov dword [ebp - 0x10], 0xfc00
and ax, word [ebp - 0x10]
mov dword [ebp - 0x10], 0xd800
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp - 0x14]
jne 0x452cd7
mov ecx, 2
cmp dword [ebp - 0x44], 0
jne 0x4534c8
lea edi, [edi + ecx*2]
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jl 0x452ca4
jmp 0x4534c8
cmp dword [esi + 0x8c], 0
je 0x4534c8
cmp edi, dword [esi + 0x88]
jbe 0x4534c8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x4534c8
jmp 0x44eff2
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
movzx eax, word [edi]
mov dword [ebp - 0x10], eax
mov ecx, eax
mov dword [ebp - 0x24], 1
je 0x452d83
and eax, 0xfc00
mov dword [ebp - 0x24], 1
cmp eax, 0xd800
jne 0x452d83
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or ecx, eax
mov dword [ebp - 0x24], 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp eax, 9
je 0x452dba
cmp eax, 5
je 0x452dba
cmp eax, 8
je 0x452dba
xor eax, eax
jmp 0x452dbf
mov eax, 1
cmp eax, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x24]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x452d32
jmp 0x4534c8
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
movzx eax, word [edi]
mov dword [ebp - 0x10], eax
mov ecx, eax
mov dword [ebp - 0x24], 1
je 0x452e44
and eax, 0xfc00
mov dword [ebp - 0x24], 1
cmp eax, 0xd800
jne 0x452e44
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or ecx, eax
mov dword [ebp - 0x24], 2
add ecx, 0x10000
mov esi, dword [ebp - 0x48]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp dword [eax*4 + 0x4c3f30], esi
mov esi, dword [ebp + 0x10]
sete cl
cmp ecx, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x24]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x452def
jmp 0x4534c8
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
movzx eax, word [edi]
mov dword [ebp - 0x10], eax
mov ecx, eax
mov dword [ebp - 0x24], 1
je 0x452eff
and eax, 0xfc00
mov dword [ebp - 0x24], 1
cmp eax, 0xd800
jne 0x452eff
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or ecx, eax
mov dword [ebp - 0x24], 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp eax, dword [ebp - 0x48]
sete cl
cmp ecx, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x24]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x452eaa
jmp 0x4534c8
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
movzx eax, word [edi]
mov dword [ebp - 0x10], eax
mov ecx, eax
mov dword [ebp - 0x24], 1
je 0x452fb0
and eax, 0xfc00
mov dword [ebp - 0x24], 1
cmp eax, 0xd800
jne 0x452fb0
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or ecx, eax
mov dword [ebp - 0x24], 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae010]
cmp eax, dword [ebp - 0x48]
sete cl
cmp ecx, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x24]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x452f5b
jmp 0x4534c8
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
movzx eax, word [edi]
mov dword [ebp - 0x10], eax
mov ecx, eax
mov dword [ebp - 0x24], 1
je 0x453061
and eax, 0xfc00
mov dword [ebp - 0x24], 1
cmp eax, 0xd800
jne 0x453061
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or ecx, eax
mov dword [ebp - 0x24], 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x45309a
cmp eax, 3
je 0x45309a
xor eax, eax
jmp 0x45309f
mov eax, 1
cmp eax, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x24]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x45300c
jmp 0x4534c8
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
mov eax, 1
mov dword [ebp - 0x1c], eax
cmp edi, dword [esi + 0x7c]
jae 0x453216
cmp dword [ebp - 0x2c], 0
movzx ecx, word [edi]
je 0x45311e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x45311b
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x1c], eax
jmp 0x45311e
mov eax, dword [ebp - 0x1c]
cmp ecx, 0x180e
ja 0x45316b
je 0x4531f1
cmp ecx, 0x85
ja 0x453152
je 0x4531f1
cmp ecx, 9
jb case.0x453187.8203
cmp ecx, 0xd
jbe 0x4531f1
cmp ecx, 0x20
jne case.0x453187.8203
jmp 0x4531f1
cmp ecx, 0xa0
je 0x4531f1
cmp ecx, 0x1680
jne case.0x453187.8203
jmp 0x4531f1
cmp ecx, 0x202f
ja 0x45318e
je 0x4531f1
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x453187.8203
movzx eax, byte [eax + 0x45679c]
jmp dword [eax*4 + 0x456794]
cmp ecx, 0x205f
je 0x4531f1
cmp ecx, 0x3000
je 0x4531f1
mov eax, ecx
test eax, eax
jns 0x4531a7
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
and ecx, 0x8000007f
jns 0x4531c1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp dword [eax*4 + 0x4c3f30], 6
sete cl
cmp ecx, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x1c]
jmp 0x4531fb
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x44], 0
jne 0x4534c8
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x4530cf
jmp 0x4534c8
cmp dword [esi + 0x8c], 0
je 0x4534c8
cmp edi, dword [esi + 0x88]
jbe 0x4534c8
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x4534c8
jmp 0x44eff2
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
movzx eax, word [edi]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], 1
je 0x4532aa
and eax, 0xfc00
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], 1
cmp eax, 0xd800
jne 0x4532aa
mov eax, dword [ebp - 0x10]
movzx ecx, word [edi + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or ecx, eax
mov dword [ebp - 0x24], 2
add ecx, 0x10000
mov dword [ebp - 0x1c], ecx
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, dword [ebp - 0x1c]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x4532ec
cmp eax, 3
je 0x4532ec
cmp dword [ebp - 0x1c], 0x5f
je 0x4532ec
xor eax, eax
jmp 0x4532f1
mov eax, 1
cmp eax, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x24]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x45324c
jmp 0x4534c8
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
mov dword [ebp - 0x40], 1
cmp edi, dword [esi + 0x7c]
jae 0x452cf7
cmp dword [ebp - 0x2c], 0
movzx ecx, word [edi]
mov dword [ebp - 0x24], ecx
je 0x453372
mov eax, ecx
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x453372
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x40], 2
add ecx, 0x10000
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x48]
mov esi, dword [eax*4 + 0x4af690]
lea eax, [eax*4 + 0x4af690]
cmp dword [ebp - 0x24], esi
mov dword [ebp - 0x10], esi
mov esi, dword [ebp + 0x10]
jb 0x4533a5
lea eax, [eax + 4]
mov edi, dword [ebp - 8]
cmp ecx, dword [ebp - 0x10]
je 0x4533cd
mov esi, dword [eax]
cmp ecx, esi
mov dword [ebp - 0x10], esi
mov esi, dword [ebp + 0x10]
jae 0x45338e
cmp dword [ebp - 0x44], 0
je 0x4534c8
mov eax, dword [ebp - 0x40]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453321
jmp 0x4534c8
cmp dword [ebp - 0x44], 0
je 0x4533af
jmp 0x4534c8
cmp ecx, dword [ebp - 0x14]
jge 0x4534c8
mov dword [ebp - 0x10], 1
cmp edi, dword [esi + 0x7c]
jae 0x4534a3
cmp dword [ebp - 0x2c], 0
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x38], ecx
je 0x45344f
and eax, 0xfc00
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x38], ecx
cmp eax, 0xd800
jne 0x45344d
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x10], 2
add ecx, 0x10000
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x38], ecx
mov eax, ecx
cmp eax, 0x24
je 0x45347e
cmp dword [ebp - 0x24], 0x40
je 0x45347e
cmp dword [ebp - 0x1c], 0x60
je 0x45347e
cmp dword [ebp - 0x18], 0xa0
jb 0x453472
cmp dword [ebp - 0x38], 0xd7ff
jbe 0x45347e
cmp ecx, 0xe000
jae 0x45347e
xor eax, eax
jmp 0x453483
mov eax, 1
cmp eax, dword [ebp - 0x44]
je 0x4534c8
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x4533e1
jmp 0x4534c8
cmp dword [esi + 0x8c], 0
je 0x4534c8
cmp edi, dword [esi + 0x88]
jbe 0x4534c8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
test edx, edx
jne 0x4110c9
cmp edi, dword [ebp - 0x20]
jbe 0x410f91
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x2c], eax
je 0x453522
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x453522
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
ja 0x4534d9
jmp 0x410f91
mov eax, dword [ebp - 0x38]
cmp eax, 0x16
jne 0x453724
cmp ecx, dword [ebp - 0x14]
jge 0x4536d9
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x10], eax
cmp edi, eax
jae 0x4536b4
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 8], edi
je 0x4535a0
mov ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4535a0
mov eax, dword [ebp - 0x40]
movzx ecx, word [edi]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
add edi, 2
or ecx, eax
mov dword [ebp - 8], edi
add ecx, 0x10000
mov dword [ebp - 0x18], edi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
mov ecx, dword [esi + 0x7c]
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae012]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x453679
mov ebx, dword [ebp - 0x30]
mov ecx, eax
mov dword [ebp - 0x40], ecx
mov edx, eax
cmp dword [ebp - 0x2c], 0
mov esi, 1
movzx ecx, word [edi]
je 0x45361a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x45361a
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, ecx
mov dword [ebp - 0x18], edx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx ecx, byte [eax*8 + 0x4ae012]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c0e20], eax
je 0x453667
lea edi, [edx + esi*2]
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
mov edx, edi
mov eax, edi
cmp edi, ecx
jb 0x4535df
jmp 0x45366d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x4536a2
cmp eax, ecx
jb 0x4536a2
cmp eax, dword [esi + 0x88]
jbe 0x4536a2
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453541
jmp 0x4536d9
cmp dword [esi + 0x8c], 0
je 0x4536d9
cmp edi, dword [esi + 0x88]
jbe 0x4536d9
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
test edx, edx
jne 0x4110c9
cmp edi, dword [ebp - 0x20]
jbe 0x410f91
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x2c], eax
jne 0x454641
movzx ecx, word [edi]
jmp 0x454687
add eax, 0xfffffffa
cmp dword [ebp - 0x2c], 0
je 0x453f6c
cmp eax, 0xf
ja case.default.0x44fb76
jmp dword [eax*4 + 0x4567c8]
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x453823
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45377a
push dword [ebp - 0x2c]
lea ecx, [esi + 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.0041f3d2
add esp, 0xc
test eax, eax
je 0x4537a9
jmp 0x453848
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x1c]
lea eax, [ecx + ecx]
sub edx, eax
cmp edi, edx
ja 0x4537a9
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x4537a9
cmp ecx, 1
je 0x453848
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x453848
cmp dword [esi + 0x8c], 0
je 0x4537e3
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x4537e3
cmp dword [esi + 0x18], 0
jne 0x4537e3
cmp dword [esi + 0x1c], 2
jne 0x4537e3
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x4537e3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x453811
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0x1c]
jne 0x453811
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x453750
jmp 0x453848
cmp dword [esi + 0x8c], 0
je 0x453848
cmp edi, dword [esi + 0x88]
jbe 0x453848
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov edx, dword [ebp - 0x28]
jmp 0x453edf
mov eax, dword [ebp - 0x14]
cmp eax, 0x7fffffff
jge 0x4538a8
cmp ecx, eax
jge 0x453edf
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x4538ae
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x45389a
mov ax, word [edi]
mov dword [ebp - 0x10], 0xfc00
and ax, word [ebp - 0x10]
mov dword [ebp - 0x10], 0xdc00
cmp ax, word [ebp - 0x10]
mov eax, dword [ebp - 0xc]
jne 0x45389a
add edi, 2
mov dword [ebp - 8], edi
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453868
jmp 0x453edf
mov edi, dword [esi + 0x7c]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x453edf
cmp edi, dword [esi + 0x88]
jbe 0x453edf
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x453edf
jmp 0x44eff2
sub dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp dword [ebp - 0x14], eax
jbe 0x453928
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x453edf
cmp ecx, dword [esi + 0x88]
jbe 0x453edf
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x453edf
jmp 0x44eff2
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x453edf
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x40], eax
and eax, 0xfc00
mov dword [ebp - 0x18], 1
cmp eax, 0xd800
jne 0x453994
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x40], eax
mov eax, 2
mov dword [ebp - 0x18], eax
jmp 0x453999
mov eax, 1
cmp ecx, 0xd
jne 0x4539ba
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x453edf
cmp word [edi], 0xa
jne 0x4539ff
add edi, 2
jmp 0x4539fc
cmp dword [ebp - 0x10], 0xa
je 0x4539f6
cmp dword [esi + 0x6c], 0
jne 0x453edf
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
cmp ecx, 0xb
je 0x4539f6
cmp ecx, 0xc
je 0x4539f6
cmp ecx, 0x85
je 0x4539f6
cmp ecx, 0x2028
je 0x4539f6
cmp ecx, 0x2029
jne 0x453edf
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x453942
jmp 0x453edf
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
mov dword [ebp - 0x10], 1
cmp edi, dword [esi + 0x7c]
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x453a5f
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x10], 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x453abe
je 0x453a7d
cmp ecx, 0xa0
ja 0x453ab4
je 0x453a7d
cmp ecx, 9
je 0x453a7d
cmp ecx, 0x20
jne 0x453aea
mov ecx, 1
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x38], 0x12
sete al
cmp ecx, eax
je 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453a1d
jmp 0x453edf
cmp ecx, 0x1680
jne 0x453aea
jmp 0x453a7d
cmp ecx, 0x205f
ja 0x453ae2
je 0x453a7d
cmp ecx, 0x2000
jb 0x453aea
cmp ecx, 0x200a
jbe 0x453a7d
cmp ecx, 0x202f
jne 0x453aea
jmp 0x453a7d
cmp ecx, 0x3000
je 0x453a7d
xor ecx, ecx
jmp 0x453a82
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
mov dword [ebp - 0x10], 1
cmp edi, dword [esi + 0x7c]
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x453b39
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x10], 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x453b81
je 0x453b8c
cmp ecx, 0xa
jb 0x453b4d
cmp ecx, 0xd
jbe 0x453b8c
xor ecx, ecx
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x38], 0x14
sete al
cmp ecx, eax
je 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453af7
jmp 0x453edf
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x453b4d
mov ecx, 1
jmp 0x453b4f
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
cmp edi, dword [esi + 0x7c]
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x10], ecx
and eax, 0xfc00
mov dword [ebp - 0x40], 1
cmp eax, 0xd800
jne 0x453be7
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], ecx
jmp 0x453bec
mov eax, 1
cmp dword [ebp - 0x10], 0x100
jae 0x453c0b
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453b9c
jmp 0x453edf
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
cmp edi, dword [esi + 0x7c]
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x10], 1
and eax, 0xfc00
cmp eax, 0xd800
jne 0x453c71
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x10], 2
add ecx, 0x10000
mov eax, ecx
cmp eax, 0x100
jae 0x453edf
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453c2f
jmp 0x453edf
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
cmp edi, dword [esi + 0x7c]
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x10], ecx
and eax, 0xfc00
mov dword [ebp - 0x40], 1
cmp eax, 0xd800
jne 0x453cf9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], ecx
jmp 0x453cfe
mov eax, 1
cmp dword [ebp - 0x10], 0x100
jae 0x453d1d
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453cae
jmp 0x453edf
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
cmp edi, dword [esi + 0x7c]
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x10], 1
and eax, 0xfc00
cmp eax, 0xd800
jne 0x453d83
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x10], 2
add ecx, 0x10000
mov eax, ecx
cmp eax, 0x100
jae 0x453edf
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453d41
jmp 0x453edf
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
cmp edi, dword [esi + 0x7c]
jae 0x4538ae
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x10], ecx
and eax, 0xfc00
mov dword [ebp - 0x40], 1
cmp eax, 0xd800
jne 0x453e0b
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], ecx
jmp 0x453e10
mov eax, 1
cmp dword [ebp - 0x10], 0x100
jae 0x453e2f
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453dc0
jmp 0x453edf
cmp ecx, dword [ebp - 0x14]
jge 0x453edf
cmp edi, dword [esi + 0x7c]
jae 0x453eba
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x10], 1
and eax, 0xfc00
cmp eax, 0xd800
jne 0x453e91
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x10], 2
add ecx, 0x10000
mov eax, ecx
cmp eax, 0x100
jae 0x453edf
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x453edf
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453e53
jmp 0x453edf
cmp dword [esi + 0x8c], 0
je 0x453edf
cmp edi, dword [esi + 0x88]
jbe 0x453edf
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
test edx, edx
jne 0x4110c9
cmp edi, dword [ebp - 0x20]
jbe 0x410f91
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov dword [ebp - 0x10], 0xfc00
mov ecx, edi
and ax, word [ebp - 0x10]
mov edx, edi
mov dword [ebp - 0x10], 0xdc00
mov dword [ebp - 8], edi
cmp ax, word [ebp - 0x10]
jne 0x453f43
add edi, 0xfffffffe
mov dword [ebp - 8], edi
mov ecx, edi
mov edx, edi
cmp dword [ebp - 0x38], 0x11
mov eax, dword [ebp - 0x20]
jne 0x453f63
cmp ecx, eax
jbe 0x453f63
cmp word [edi], 0xa
jne 0x453f63
cmp word [edi - 2], 0xd
jne 0x453f63
lea edi, [edx - 2]
mov dword [ebp - 8], edi
cmp edi, eax
ja 0x453ef0
jmp 0x410f91
cmp eax, 0xf
ja case.default.0x44fb76
jmp dword [eax*4 + 0x456808]
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x45402b
mov edx, dword [esi + 0x18]
test edx, edx
je 0x453fb1
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.0041f3d2
add esp, 0xc
test eax, eax
je 0x453fd9
jmp 0x454050
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x453fd9
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x453fd9
cmp edx, 1
je 0x454050
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x454050
cmp dword [esi + 0x8c], 0
je 0x454013
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x454013
cmp dword [esi + 0x18], 0
jne 0x454013
cmp dword [esi + 0x1c], 2
jne 0x454013
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x454013
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x453f85
jmp 0x454050
cmp dword [esi + 0x8c], 0
je 0x454050
cmp edi, dword [esi + 0x88]
jbe 0x454050
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov edx, dword [ebp - 0x28]
jmp 0x4544df
sub dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp dword [ebp - 0x14], eax
jbe 0x4540a0
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x4544df
cmp ecx, dword [esi + 0x88]
jbe 0x4544df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x4544df
jmp 0x44eff2
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x454137
movzx eax, word [edi]
cmp eax, 0xd
jne 0x4540dc
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x4544df
cmp word [edi], 0xa
je 0x454120
jmp 0x454126
cmp eax, 0xa
je 0x454120
cmp dword [esi + 0x6c], 0
jne 0x4544df
cmp eax, 0xb
je 0x454120
cmp eax, 0xc
je 0x454120
mov dword [ebp - 0x10], 0x85
cmp ax, word [ebp - 0x10]
je 0x454120
mov dword [ebp - 0x10], 0x2028
cmp ax, word [ebp - 0x10]
je 0x454120
mov dword [ebp - 0x10], 0x2029
cmp ax, word [ebp - 0x10]
jne 0x4544df
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x4540ba
jmp 0x4544df
cmp dword [esi + 0x8c], 0
je 0x4544df
cmp edi, dword [esi + 0x88]
jbe 0x4544df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x4544df
jmp 0x44eff2
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x4541b3
je 0x4544df
cmp eax, 0xa0
ja 0x4541a7
je 0x4544df
cmp eax, 9
je 0x4544df
cmp eax, 0x20
jne 0x4541e9
jmp 0x4544df
cmp eax, 0x1680
jne 0x4541e9
jmp 0x4544df
cmp eax, 0x205f
ja 0x4541de
je 0x4544df
cmp eax, 0x2000
jb 0x4541e9
cmp eax, 0x200a
jbe 0x4544df
cmp eax, 0x202f
jne 0x4541e9
jmp 0x4544df
cmp eax, 0x3000
je 0x4544df
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x454172
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x454240
je 0x454272
cmp eax, 0xa0
ja 0x454234
je 0x454272
cmp eax, 9
je 0x454272
cmp eax, 0x20
je 0x454272
jmp 0x4544df
cmp eax, 0x1680
je 0x454272
jmp 0x4544df
cmp eax, 0x205f
ja 0x454267
je 0x454272
cmp eax, 0x2000
jb 0x4544df
cmp eax, 0x200a
jbe 0x454272
cmp eax, 0x202f
je 0x454272
jmp 0x4544df
cmp eax, 0x3000
jne 0x4544df
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x454207
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
cmp eax, 0x85
ja 0x4542b4
je 0x4544df
cmp eax, 0xa
jb 0x4542c6
cmp eax, 0xd
ja 0x4542c6
jmp 0x4544df
cmp eax, 0x2028
jb 0x4542c6
cmp eax, 0x2029
jbe 0x4544df
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x45428c
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
cmp eax, 0x85
ja 0x454302
je 0x454310
add eax, 0xfffffff6
cmp eax, 3
jbe 0x454310
jmp 0x4544df
add eax, 0xffffdfd8
cmp eax, 1
ja 0x4544df
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x4542e0
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
mov dword [ebp - 0x10], 0xff
cmp ax, word [ebp - 0x10]
ja 0x454355
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x4544df
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x45432a
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x4544df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x4544df
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x454372
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
mov dword [ebp - 0x10], 0xff
cmp ax, word [ebp - 0x10]
ja 0x4543e6
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x4544df
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x4543bb
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x4544df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x4544df
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x454403
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x454137
movzx eax, word [edi]
mov dword [ebp - 0x10], 0xff
cmp ax, word [ebp - 0x10]
ja 0x454473
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x4544df
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x45444c
jmp 0x4544df
cmp ecx, dword [ebp - 0x14]
jge 0x4544df
cmp edi, dword [esi + 0x7c]
jae 0x4544ba
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x4544df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4544df
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x454489
jmp 0x4544df
cmp dword [esi + 0x8c], 0
je 0x4544df
cmp edi, dword [esi + 0x88]
jbe 0x4544df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
test edx, edx
jne 0x4110c9
cmp edi, dword [ebp - 0x20]
je 0x410f91
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x20]
add edi, 0xfffffffe
cmp dword [ebp - 0x38], 0x11
mov dword [ebp - 8], edi
jne 0x454539
cmp edi, eax
jbe 0x45453b
cmp word [edi], 0xa
jne 0x454539
cmp word [edi - 2], 0xd
jne 0x454539
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, eax
jne 0x4544f0
jmp 0x410f91
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x454571
lea edx, [ebx + 4]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ebx, dword [ebp - 0x10]
jmp 0x410f8e
mov edx, dword [ebp - 0x10]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
add ebx, 4
jmp 0x410f8e
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push ecx
push dword [ebp + 8]
jne 0x4545f9
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ebx, dword [ebp - 0x18]
mov ecx, 0x81
movzx eax, word [ebx]
cmp ax, cx
je 0x4548d2
mov ecx, 0x88
cmp ax, cx
jb 0x410f8e
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
jmp 0x410fda
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00410e10
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x454620
mov ecx, dword [ebp - 0x18]
cmp dword [esi + 0xb8], ecx
jne 0x410fda
jmp 0x45462b
test eax, eax
jne 0x410fda
mov ecx, dword [ebp - 0x18]
mov eax, 0x81
cmp word [ecx], ax
je 0x454905
add ebx, 4
jmp 0x410f8e
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x45465c
add edi, 0xfffffffe
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x454687
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae012]
mov dword [ebp - 0x10], eax
cmp edi, dword [ebp - 0x20]
jbe 0x410f91
cmp dword [ebp - 0x2c], 0
lea edx, [edi - 2]
jne 0x4546c5
movzx ecx, word [edx]
jmp 0x454708
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4546dd
add edx, 0xfffffffe
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x454708
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
mov ecx, dword [ebp - 0x10]
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae012]
mov dword [ebp - 0x40], eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x40]
test dword [ecx*4 + 0x4c0e20], eax
je 0x4536ea
mov edi, edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], edi
jmp 0x4546ae
mov dword [esi + 0x9c], 2
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410e10
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x4547e6
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x454829
cmp word [ebx], 0x77
je 0x4547be
cmp word [eax], 0x77
jne 0x454829
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
jne case.0x410e93.157
mov eax, dword [ebp - 0x40]
mov dword [esi + 0x94], eax
jmp case.0x410e93.129
test edx, edx
je 0x4547be
cmp edx, 0xfffffc1b
jne 0x454829
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x45481b
cmp eax, 0x77
jne 0x454812
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x454804
movzx eax, word [ebx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [esi + 0xb8]
sub eax, ebx
neg eax
sbb eax, eax
and edx, eax
mov eax, edx
jmp 0x410fda
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4c0d70]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x410fda
mov eax, dword [ebp - 0x60]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je case.0x410e93.157
push eax
call fcn.0041c957
add esp, 4
jmp case.0x410e93.157
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je 0x4548c1
push eax
call fcn.0041c957
add esp, 4
jmp 0x4548c1
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp 0x410fda
mov eax, 0xfffffffa
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov dword [esi + 0xb8], ebx
mov eax, 0xfffffc1b
jmp 0x410fda
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x410fda
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push ecx
push dword [ebp + 8]
mov ecx, dword [ebp - 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x410fda
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, 0xfffffc1a
mov dword [esi + 0x90], ecx
jmp 0x410fda
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
jmp 0x410fd5
cmp dword [esi + 0x8c], 0
je case.0x410e93.157
cmp eax, dword [esi + 0x88]
jmp 0x4549cc
cmp edx, dword [esi + 0x88]
jbe case.0x410e93.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x410e93.157
mov eax, 0xfffffff4
jmp 0x410fda
mov eax, 0xfffffff2
jmp 0x410fda
cmp eax, 0xfffffffe
jne 0x454a02
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jb case.0x410e93.157
cmp edi, dword [esi + 0x88]
jmp 0x4549cc
mov dword [ebp - 0x10], eax
cmp edi, edx
jl 0x454a2e
mov edi, eax
jmp 0x454a93
mov eax, dword [ebp - 8]
push dword [ebp - 0x38]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x28]
call fcn.0049b2e9
add esp, 0xc
test eax, eax
js 0x454a58
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x18]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x20]
jl 0x454a2b
jmp 0x454a88
cmp eax, 0xfffffffe
jne 0x454a85
cmp dword [esi + 0x8c], 0
je 0x454a85
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x454a85
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
cmp edx, edi
jb case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, edi
jae 0x454a93
xor eax, eax
jmp 0x410fda
cmp ecx, 0xfffffffe
jne 0x454ada
mov eax, dword [esi + 0x7c]
jmp 0x454add
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x410e93.157
cmp eax, dword [esi + 0x7c]
jb case.0x410e93.157
jmp 0x4549be
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
cmp dword [ebp - 0x2c], 0
je 0x454bf1
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x14], eax
jge case.0x410e93.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x454bd9
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x454b7c
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], eax
cmp edx, 0xff
jbe 0x454b8f
cmp edi, 0x6e
je case.0x410e93.157
jmp 0x454bb0
mov edx, dword [ebp - 0x10]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
je case.0x410e93.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454b26
jmp 0x410fda
cmp dword [esi + 0x8c], 0
je case.0x410e93.157
cmp ecx, dword [esi + 0x88]
jmp 0x4549cc
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x14], eax
jge case.0x410e93.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4549b1
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x454c2d
cmp edi, 0x6e
je case.0x410e93.157
jmp 0x454c48
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x14]
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454bf9
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x454ce2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x454ce2
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
push edx
mov edx, dword [ebp - 0x24]
call fcn.0049b4ed
add esp, 4
test eax, eax
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x20]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454c96
jmp 0x410fda
cmp dword [esi + 0x8c], 0
je case.0x410e93.157
cmp edx, ecx
jb case.0x410e93.157
jmp 0x4549c6
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0xc]
jge case.0x410e93.157
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x454d95
push ecx
push dword [ebp - 0x20]
push edi
call fcn.00421714
add esp, 0xc
test eax, eax
jne 0x454d95
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
jmp 0x454dcc
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x454a02
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x454a02
push ecx
lea eax, [ebp - 0x74]
push eax
push edi
call fcn.00421714
add esp, 0xc
test eax, eax
jne 0x454a02
mov ecx, dword [ebp - 0x18]
lea edi, [edi + ecx*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454d61
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
cmp dword [ebp - 0x38], ecx
je 0x454e43
cmp dword [ebp - 0x1c], ecx
jne case.0x410e93.157
inc eax
add edi, 2
mov dword [ebp - 0x14], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454e1d
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0xc]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x38], eax
jne case.0x410e93.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x14], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454e91
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
cmp dword [ebp - 0x2c], 0
je 0x454f91
test eax, eax
jne 0x410fda
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0xc]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x454f55
movzx eax, word [edi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
add eax, 0x10000
add edi, 2
mov ecx, eax
jmp 0x454f57
mov eax, ecx
cmp dword [ebp - 0x28], ecx
je case.0x410e93.157
cmp dword [ebp - 0x18], eax
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x14], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454f0d
jmp 0x410fda
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
cmp dword [ebp - 0x28], ecx
je case.0x410e93.157
cmp dword [ebp - 0x18], ecx
je case.0x410e93.157
inc eax
add edi, 2
mov dword [ebp - 0x14], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x454f99
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
cmp dword [ebp - 0x2c], 0
je 0x455090
test eax, eax
jne 0x410fda
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0xc]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x45505f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x28], ecx
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x14], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x45501a
jmp 0x410fda
test eax, eax
jne 0x410fda
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0xc]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], eax
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x14], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x455098
jmp 0x410fda
cmp eax, 0xa
ja case.default.0x44fb76
jmp dword [eax*4 + 0x456848]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x14]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
je 0x455147
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455147
add edi, 2
cmp dword [ebp - 0x44], 0
jne case.0x410e93.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0xc], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x455117
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edx
je 0x4551e9
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4551e9
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp eax, 9
je 0x455220
cmp eax, 5
je 0x455220
cmp eax, 8
je 0x455220
xor eax, eax
jmp 0x455225
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x45519c
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edx
je 0x4552c9
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4552c9
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov edx, dword [ebp - 0x48]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp dword [eax*4 + 0x4c3f30], edx
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x45527c
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edx
je 0x4553a1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4553a1
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp eax, dword [ebp - 0x48]
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x455353
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edx
je 0x455471
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455471
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae010]
cmp eax, dword [ebp - 0x48]
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x455424
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, edx
je 0x455541
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455541
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x45557a
cmp eax, 3
je 0x45557a
xor eax, eax
jmp 0x45557f
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x4554f4
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x14]
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
je 0x455621
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455621
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp ecx, 0x180e
ja 0x455690
je case.0x4556ac.8192
cmp ecx, 0x85
ja 0x45567e
je case.0x4556ac.8192
cmp ecx, 9
jb case.0x4556ac.8203
cmp ecx, 0xd
jbe case.0x4556ac.8192
cmp ecx, 0x20
jne case.0x4556ac.8203
cmp dword [ebp - 0x44], 0
jne case.0x410e93.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x4555d6
jmp 0x410fda
cmp ecx, 0xa0
je case.0x4556ac.8192
cmp ecx, 0x1680
jne case.0x4556ac.8203
jmp case.0x4556ac.8192
cmp ecx, 0x202f
ja 0x4556b3
je case.0x4556ac.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x4556ac.8203
movzx eax, byte [eax + 0x45687c]
jmp dword [eax*4 + 0x456874]
cmp ecx, 0x205f
je case.0x4556ac.8192
cmp ecx, 0x3000
je case.0x4556ac.8192
mov eax, ecx
test eax, eax
jns 0x4556cc
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
and ecx, 0x8000007f
jns 0x4556e6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
cmp dword [eax*4 + 0x4c3f30], 6
sete cl
cmp ecx, dword [ebp - 0x44]
je case.0x410e93.157
jmp 0x455652
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
je 0x455784
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455784
movzx edx, word [edi]
and ecx, 0x3ff
and edx, 0x3ff
shl ecx, 0xa
or edx, ecx
add edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4beb70]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b0870]
movzx eax, byte [eax*8 + 0x4ae011]
mov eax, dword [eax*4 + 0x4c3f30]
cmp eax, 1
je 0x4557c4
cmp eax, 3
je 0x4557c4
cmp edx, 0x5f
je 0x4557c4
xor eax, eax
jmp 0x4557c9
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x455736
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], ecx
je 0x455874
mov eax, ecx
mov dword [ebp - 0x30], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455874
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x48]
mov edx, dword [eax*4 + 0x4af690]
lea eax, [eax*4 + 0x4af690]
cmp dword [ebp - 0x30], edx
jb 0x455897
lea eax, [eax + 4]
cmp ecx, edx
je 0x4558cc
mov edx, dword [eax]
cmp ecx, edx
jae 0x45588a
cmp dword [ebp - 0x44], 0
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x455820
jmp 0x410fda
cmp dword [ebp - 0x44], 0
jne case.0x410e93.157
jmp 0x4558a1
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov edx, ecx
mov eax, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
je 0x45596b
and eax, 0xfc00
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ecx
cmp eax, 0xd800
jne 0x455969
movzx eax, word [edi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add edi, 2
mov edx, ecx
mov eax, edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], edx
jmp 0x45596b
mov eax, ecx
cmp edx, 0x24
je 0x455999
cmp eax, 0x40
je 0x455999
cmp dword [ebp - 0x30], 0x60
je 0x455999
cmp dword [ebp - 0x24], 0xa0
jb 0x45598d
cmp dword [ebp - 0x1c], 0xd7ff
jbe 0x455999
cmp ecx, 0xe000
jae 0x455999
xor eax, eax
jmp 0x45599e
mov eax, 1
cmp eax, dword [ebp - 0x44]
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x4558fb
jmp 0x410fda
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
cmp edi, dword [esi + 0x7c]
jae 0x4527cd
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x2c], 0
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, edi
je 0x455a2c
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455a2c
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add edi, 2
or ecx, eax
add ecx, 0x10000
mov edx, edi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx ecx, byte [eax*8 + 0x4ae012]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x10], ecx
cmp edx, eax
jae 0x455afe
mov dword [ebp - 0x40], edx
mov ebx, edx
cmp dword [ebp - 0x2c], 0
movzx ecx, word [edi]
mov dword [ebp - 0x40], 1
je 0x455aa2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x455aa2
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x40], 2
add ecx, 0x10000
mov esi, dword [ebp - 0x10]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
mov edx, ebx
movzx eax, byte [eax + 0x4beb70]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b0870]
movzx ecx, byte [eax*8 + 0x4ae012]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c0e20], eax
mov esi, dword [ebp + 0x10]
je 0x455af8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x10], ecx
lea edi, [ebx + eax*2]
mov eax, dword [esi + 0x7c]
mov ebx, edi
mov edx, edi
cmp edi, eax
jb 0x455a63
jmp 0x455afb
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x3c]
cmp dword [esi + 0x8c], 0
je 0x455b27
cmp edx, eax
jb 0x455b27
cmp edx, dword [esi + 0x88]
jbe 0x455b27
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x4559da
jmp 0x410fda
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x4114c2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x4114c2
cmp edx, 1
je case.0x410e93.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x410e93.157
jmp 0x4114c2
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x48], ecx
mov edx, ecx
mov dword [ebp - 0x30], edi
jmp 0x4114e2
mov eax, dword [ebp - 0x38]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x44fb76
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
add esi, 0xfffffffa
jmp dword [esi*4 + 0x4568a8]
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp + 0x10]
cmp ecx, 0xd
ja 0x455c15
je 0x455bf7
cmp ecx, 0xa
je case.0x455bcc.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x410e93.157
jmp 0x455c2c
cmp edi, dword [esi + 0x7c]
jae case.0x455bcc.13
cmp word [edi], 0xa
jne case.0x455bcc.13
mov edi, dword [ebp - 0x30]
add edi, 2
jmp case.0x455bcc.13
cmp ecx, 0x85
je 0x455c2c
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
cmp dword [esi + 0x6c], 0
jne case.0x410e93.157
jmp case.0x455bcc.13
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x180e
ja 0x455c82
je case.0x410e93.157
cmp ecx, 0xa0
ja 0x455c71
je case.0x410e93.157
cmp ecx, 9
je case.0x410e93.157
cmp ecx, 0x20
je case.0x410e93.157
jmp case.0x455bcc.13
cmp ecx, 0x1680
je case.0x410e93.157
jmp case.0x455bcc.13
cmp ecx, 0x205f
ja 0x455cb9
je case.0x410e93.157
cmp ecx, 0x2000
jb case.0x455bcc.13
cmp ecx, 0x200a
jbe case.0x410e93.157
cmp ecx, 0x202f
je case.0x410e93.157
jmp case.0x455bcc.13
cmp ecx, 0x3000
je case.0x410e93.157
jmp case.0x455bcc.13
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x180e
ja 0x455d11
je case.0x455bcc.13
cmp ecx, 0xa0
ja 0x455d00
je case.0x455bcc.13
cmp ecx, 9
je case.0x455bcc.13
cmp ecx, 0x20
jne case.0x410e93.157
jmp case.0x455bcc.13
cmp ecx, 0x1680
jne case.0x410e93.157
jmp case.0x455bcc.13
cmp ecx, 0x205f
ja 0x455d48
je case.0x455bcc.13
cmp ecx, 0x2000
jb case.0x410e93.157
cmp ecx, 0x200a
jbe case.0x455bcc.13
cmp ecx, 0x202f
jne case.0x410e93.157
jmp case.0x455bcc.13
cmp ecx, 0x3000
jne case.0x410e93.157
jmp case.0x455bcc.13
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x85
ja 0x455d81
je case.0x410e93.157
cmp ecx, 0xa
jb case.0x455bcc.13
cmp ecx, 0xd
jbe case.0x410e93.157
jmp case.0x455bcc.13
cmp ecx, 0x2028
jb case.0x455bcc.13
cmp ecx, 0x2029
jbe case.0x410e93.157
jmp case.0x455bcc.13
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x85
ja 0x455dc0
je case.0x455bcc.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x410e93.157
jmp case.0x455bcc.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
jmp case.0x455bcc.13
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
cmp edx, 0x100
jae case.0x455bcc.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x410e93.157
jmp case.0x455bcc.13
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
cmp edx, 0x100
jae case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x410e93.157
jmp case.0x455bcc.13
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
cmp edx, 0x100
jae case.0x455bcc.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x410e93.157
jmp case.0x455bcc.13
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
cmp edx, 0x100
jae case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x410e93.157
jmp case.0x455bcc.13
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
cmp edx, 0x100
jae case.0x455bcc.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x410e93.157
jmp case.0x455bcc.13
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x48]
cmp edx, 0x100
jae case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x410e93.157
jmp case.0x455bcc.13
cmp eax, dword [esi + 0x7c]
jb case.0x455bcc.13
cmp dword [esi + 0x18], 0
jne case.0x455bcc.13
cmp dword [esi + 0x1c], 2
jne case.0x455bcc.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x455bcc.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp case.0x455bcc.13
test eax, eax
jne 0x410fda
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x410e93.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x4527cd
cmp dword [ebp - 0x38], 0xc
jne 0x455f61
mov edx, dword [esi + 0x18]
test edx, edx
je 0x455f35
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041f3d2
add esp, 0xc
test eax, eax
jne case.0x410e93.157
jmp 0x455f61
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x455f61
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x455f61
cmp edx, 1
je case.0x410e93.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x410e93.157
movzx eax, word [edi]
add edi, 2
mov ecx, eax
mov edx, eax
mov eax, dword [ebp - 0x38]
add eax, 0xfffffffa
mov dword [ebp - 0x10], ecx
cmp eax, 0xf
ja case.default.0x44fb76
jmp dword [eax*4 + 0x4568e8]
cmp dword [esi + 0x8c], 0
je case.0x455f7d.13
cmp edi, dword [esi + 0x7c]
jb case.0x455f7d.13
cmp dword [esi + 0x18], 0
jne case.0x455f7d.13
cmp dword [esi + 0x1c], 2
jne case.0x455f7d.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x455f7d.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44eff2
jmp case.0x455f7d.13
cmp ecx, 0xd
ja 0x45600c
je 0x455ff1
cmp ecx, 0xa
je case.0x455f7d.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x410e93.157
jmp 0x456023
cmp edi, dword [esi + 0x7c]
jae case.0x455f7d.13
cmp word [edi], 0xa
jne case.0x455f7d.13
add edi, 2
jmp case.0x455f7d.13
cmp ecx, 0x85
je 0x456023
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
cmp dword [esi + 0x6c], 0
jne case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x180e
ja 0x456076
je case.0x410e93.157
cmp ecx, 0xa0
ja 0x456065
je case.0x410e93.157
cmp ecx, 9
je case.0x410e93.157
cmp ecx, 0x20
je case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x1680
je case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x205f
ja 0x4560ad
je case.0x410e93.157
cmp ecx, 0x2000
jb case.0x455f7d.13
cmp ecx, 0x200a
jbe case.0x410e93.157
cmp ecx, 0x202f
je case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x3000
je case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x180e
ja 0x456102
je case.0x455f7d.13
cmp ecx, 0xa0
ja 0x4560f1
je case.0x455f7d.13
cmp ecx, 9
je case.0x455f7d.13
cmp ecx, 0x20
jne case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x1680
jne case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x205f
ja 0x456139
je case.0x455f7d.13
cmp ecx, 0x2000
jb case.0x410e93.157
cmp ecx, 0x200a
jbe case.0x455f7d.13
cmp ecx, 0x202f
jne case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x3000
jne case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x85
ja 0x45616f
je case.0x410e93.157
cmp ecx, 0xa
jb case.0x455f7d.13
cmp ecx, 0xd
jbe case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x2028
jb case.0x455f7d.13
cmp ecx, 0x2029
jbe case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0x85
ja 0x4561ab
je case.0x455f7d.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x410e93.157
jmp case.0x455f7d.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0xff
ja case.0x455f7d.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x410e93.157
jmp case.0x455f7d.13
mov eax, 0xff
cmp word [ebp - 0x10], ax
ja case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0xff
ja case.0x455f7d.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x410e93.157
jmp case.0x455f7d.13
mov eax, 0xff
cmp dx, ax
ja case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x410e93.157
jmp case.0x455f7d.13
cmp ecx, 0xff
ja case.0x455f7d.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x410e93.157
jmp case.0x455f7d.13
mov eax, 0xff
cmp dx, ax
ja case.0x410e93.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x410e93.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410e10
add esp, 0x14
test eax, eax
je 0x455ef6
jmp 0x410fda
mov dword [esi + 0x9c], 2
jmp 0x41158e
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x4115d7
cmp word [ebx], 0x77
je 0x4562be
cmp word [eax], 0x77
jne 0x4115d7
xor edx, edx
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x24]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0x411582
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + ebx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x20]
mov dword [eax + ecx*4], esi
jmp 0x4115d7
lea eax, [ebx + 4]
mov dword [esi + 0xb4], eax
mov dword [ebp - 0x10], eax
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4c0d70]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00410e10
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x456361
cmp edi, 0xfffffc19
jne 0x45636e
cmp dword [esi + 0xb0], 0
je 0x4548b8
cmp edi, 0xfffffc1f
jne 0x4548c1
mov edx, dword [esi + 0x80]
mov ecx, dword [ebp - 0x10]
call fcn.0049b939
test eax, eax
jne 0x4548c1
jmp 0x4564a5
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, 0xfffffc1c
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov eax, 0xfffffc1d
jmp 0x410fda
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4c0d70]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00410e10
add esp, 0x14
cmp eax, 1
je 0x456453
cmp eax, 0xfffffc19
jne 0x456462
cmp dword [esi + 0xb0], 0
jne 0x456462
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x410fda
mov eax, 0xfffffc1d
jmp 0x410fda
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00410e10
add esp, 0x14
test eax, eax
jne 0x410fda
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x410fda
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c0d70]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00410e10
add esp, 0x14
jmp 0x4564e4
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x410fda
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x410fda
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4c0d70]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00410e10
add esp, 0x14
cmp eax, 1
je 0x456548
cmp eax, 0xfffffc19
jne 0x4564e4
cmp dword [esi + 0xb0], 0
jne 0x4564e4
jmp 0x4564de
cmp edi, 0x9f
je 0x410fb8
cmp dword [esi + 0xa8], 0
jne 0x410fb8
cmp dword [esi + 0x60], 0
jne case.0x410e93.157
cmp dword [esi + 0x64], 0
je 0x410fb8
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x410e93.157
jmp 0x410fb8
mov eax, 0xfffffc19
jmp 0x410fda
mov eax, 0xfffffffb
jmp 0x410fda
mov eax, 0xffffffeb
jmp 0x410fda
inc eax
mov dword [esi], eax
mov eax, 0xfffffff8
jmp 0x410fda