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

Disassembly:
sub esp, 0x158
push ebx
push ebp
push esi
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
push edi
test esi, esi
jne 0x4928ee
cmp dword [esp + 0x17c], edx
jne 0x4928d3
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.00492890
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esp + 0x17c]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x497d0b
mov dword [esp + 0x4c], 0xfc00
mov dword [esp + 0x50], 0xdc00
mov dword [esp + 0x54], closesocket
mov dword [esp + 0x48], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x499ffe
cmp dword [ebp + 0x9c], 2
jne 0x492972
mov eax, dword [esp + 0x178]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x178], eax
mov dword [ebp + 0x9c], 0
mov edi, dword [esp + 0x170]
jmp 0x492992
mov edi, dword [esp + 0x170]
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
movzx ecx, word [esi]
mov edx, ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x4929be.98
movzx eax, byte [edx + 0x49a158]
jmp dword [eax*4 + 0x49a010]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4c2e00]
je 0x497dcb
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x492992
mov edx, dword [esp + 0x174]
mov ebp, esi
mov edi, ebx
mov esi, dword [edx + 0xb0]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
mov edx, dword [esp + 0x20]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [edx + 4]
call fcn.00492890
mov edx, eax
add esp, 0x14
cmp edx, 1
je 0x492b03
cmp edx, 0xfffffc20
jne 0x492a6d
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x499c0a
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
je 0x492a79
cmp word [eax], 0x71
jne 0x499c0a
jmp 0x492a79
test edx, edx
jne 0x499c0a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov edx, dword [esp + 0x174]
lea ecx, [ecx + eax*2]
mov dword [edx + 0xb0], esi
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x4929f6
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x492ab4
cmp eax, 0x71
jne case.default.0x49429f
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x71
je 0x492ab4
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x18], ebx
cmp ecx, 0x72
je 0x492ae9
cmp ebx, edi
jne 0x497a71
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
jmp 0x492992
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
movzx ecx, word [esi]
mov dword [esp + 0x16c], eax
jmp 0x492aa3
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x493638
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
jne 0x492c19
mov esi, dword [0x4eb074]
test esi, esi
je 0x492c0e
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb8], 2
movzx eax, word [edx + 6]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0xc4], ecx
mov eax, dword [ebp + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xcc], eax
mov eax, ebx
sub eax, ecx
sar eax, 1
mov dword [esp + 0xd0], eax
movzx eax, word [edx + 8]
mov dword [esp + 0xe0], eax
movzx eax, word [edx + 0xa]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xd4], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0xdc], eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xb8]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x49429f
js 0x497d14
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
movzx ecx, word [esi + 4]
lea edx, [esi + 4]
cmp ecx, 0x89
je 0x492e36
cmp ecx, 0x8a
je 0x492e36
cmp ecx, 0x87
je 0x492caa
cmp ecx, 0x88
je 0x492caa
cmp ecx, 0x8b
jne 0x492c5c
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492fc8
mov dword [ebp + 0x9c], 1
mov ecx, ebx
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
cmp eax, 1
je 0x497b06
test eax, eax
je 0x492ca2
cmp eax, 0xfffffc20
jne 0x497d14
lea eax, [esi + edi*2]
jmp 0x492fc8
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x492cc7
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx*4], 0
jge 0x492e20
xor edi, edi
cmp ecx, 0x88
jne 0x492dff
mov ecx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov ebp, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], edi
mov edx, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x28], edi
test edx, edx
jle 0x492d34
mov dword [esp + 0x28], edi
xor ebx, ebx
mov dword [esp + 0x34], eax
mov edi, eax
movzx eax, word [ebp]
cmp eax, esi
je 0x492d28
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea ebp, [edi + eax*2]
lea eax, [ebx + 1]
mov edi, ebp
mov dword [esp + 0x2c], eax
mov ecx, eax
mov ebx, eax
cmp eax, edx
jl 0x492d02
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
cmp ecx, edx
jge 0x492dff
mov ecx, dword [esp + 0x174]
mov esi, ebp
cmp ebp, eax
jbe 0x492da2
nop dword [eax]
mov eax, dword [ecx + 0x24]
lea ecx, [ebp + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.0049b8f0
test eax, eax
jne 0x492e13
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492d8e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492e20
mov ecx, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x28], edx
cmp esi, dword [ecx + 0x28]
ja 0x492d50
xor edi, edi
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [ecx + 0x20]
jge 0x492dff
lea esi, [ebp + 2]
mov eax, dword [ecx + 0x24]
mov ecx, esi
lea ebp, [ebp + eax*2]
lea edx, [ebp + 2]
call fcn.0049b8f0
test eax, eax
jne 0x492dff
movzx eax, word [ebp]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492de8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492e20
mov eax, dword [esp + 0x2c]
xor edi, edi
mov ecx, dword [esp + 0x174]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [ecx + 0x20]
jl 0x492db3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x492fbe
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x174]
jmp 0x492da2
mov ecx, dword [esp + 0x14]
mov eax, 2
mov edi, 1
lea eax, [ecx + eax*2]
jmp 0x492fbe
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x492e4c
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492fc8
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x492fb1
cmp edx, dword [eax + 4]
je 0x492fb1
xor edi, edi
cmp ecx, 0x8a
jne 0x492fab
mov ecx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov ebp, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], eax
mov esi, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], edi
test esi, esi
jle 0x492eda
mov dword [esp + 0x28], edi
xor ebx, ebx
mov dword [esp + 0x34], eax
mov edi, eax
movzx eax, word [ebp]
cmp eax, edx
je 0x492eca
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea ebp, [edi + eax*2]
lea eax, [ebx + 1]
mov edi, ebp
mov dword [esp + 0x38], eax
mov ecx, eax
mov ebx, eax
cmp eax, esi
jl 0x492ea4
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], ebp
cmp ecx, esi
jge 0x492fa7
cmp ebp, eax
jbe 0x492f37
mov ebx, dword [esp + 0x28]
lea edi, [ebp + 2]
mov esi, ebp
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x24]
mov ecx, edi
add eax, eax
sub esi, eax
lea edx, [esi + 2]
call fcn.0049b8f0
test eax, eax
jne 0x492f23
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x492f23
cmp esi, dword [ebp + 0x28]
ja 0x492ef6
mov ebp, dword [esp + 0x34]
test ebx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18]
jne 0x492f99
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x492fa7
mov ebx, dword [esp + 0x28]
lea edi, [ebp + 2]
nop
mov eax, dword [edx + 0x24]
mov ecx, edi
lea edx, [eax*2]
add edx, ebp
mov ebp, edx
add edx, 2
call fcn.0049b8f0
test eax, eax
jne 0x492f8d
mov edx, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [ebp]
mov eax, dword [edx + 0xa8]
cmp ecx, dword [eax + 4]
sete bl
je 0x492f8d
inc esi
cmp esi, dword [edx + 0x20]
jl 0x492f50
mov dword [esp + 0x28], ebx
test ebx, ebx
mov ebx, dword [esp + 0x18]
je 0x492fa3
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
jmp 0x492fb6
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x492fbb
mov edi, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test edi, edi
jne 0x497b44
mov ebp, dword [esp + 0x174]
mov ecx, eax
mov edi, dword [esp + 0x170]
cmp word [ecx], 0x71
je 0x497b52
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492992
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x493017
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x492992
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*8], eax
mov ecx, ebx
sub ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0xc]
sar ecx, 1
mov dword [eax + edx*8 + 4], ecx
cmp edi, esi
jg 0x493041
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492992
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x493071
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x493073
xor edi, edi
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push 0
push ebp
push dword [esp + 0x17c]
lea edx, [edx + 4]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
cmp eax, 1
je 0x4930de
cmp eax, 0xfffffc19
je 0x4930de
test eax, eax
je 0x4930b9
cmp eax, 0xfffffc20
jne 0x497d14
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [ebp + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x493073
mov esi, dword [esp + 0x14]
jmp 0x4930f2
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x16c], eax
movzx eax, word [esi]
cmp ax, 0x72
je case.default.0x49429f
test edi, edi
jne 0x497fd6
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x493104
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x492992
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x49314b
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x49314d
xor edi, edi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
lea edx, [ecx + 4]
inc eax
mov ecx, ebx
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x49429f
cmp eax, 0xfffffc19
je case.default.0x49429f
cmp eax, 0xfffffc1e
je 0x4931d0
cmp eax, 0xfffffc1d
je 0x4931d0
cmp eax, 0xfffffc1a
je 0x4931d0
test eax, eax
je 0x4931b6
cmp eax, 0xfffffc20
jne 0x497d14
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
je 0x493151
mov esi, ecx
jmp 0x4931e2
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4931d4
test edi, edi
jne 0x497fd6
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492992
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x493232
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x18], ebx
cmp ebx, edx
jb case.default.0x49429f
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x49322e
add ebx, 0xfffffffe
mov dword [esp + 0x18], ebx
test ecx, ecx
jg 0x493208
cmp ebx, dword [ebp + 0x88]
jae 0x493240
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492992
mov esi, dword [0x4eb074]
test esi, esi
je 0x49332a
mov edi, dword [esp + 0x14]
mov dword [esp + 0x80], 2
movzx eax, word [edi + 2]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0x8c], ecx
mov eax, dword [ebp + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x94], eax
mov eax, ebx
sub eax, ecx
sar eax, 1
mov dword [esp + 0x98], eax
movzx eax, word [edi + 8]
mov dword [esp + 0xa8], eax
movzx eax, word [edi + 0xa]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x80]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x49429f
js 0x497d14
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x492992
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x493353
xor ecx, ecx
jmp 0x493357
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x493377
cmp ecx, dword [eax + 4]
jne 0x493371
cmp ebx, dword [eax + 0x10]
je 0x497e26
mov eax, dword [eax]
test eax, eax
jne 0x493363
lea eax, [esp + 0x58]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], ebx
add esi, 4
mov dword [esp + 0x58], edx
mov dword [ebp + 0xa8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x64], eax
cmp eax, 0x1e
jg 0x4933ad
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x4933cb
shl eax, 2
push eax
call fcn.0049f88a
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x497e5b
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049ef90
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
mov eax, 0x82
cmp bp, ax
jb 0x4933f9
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
movzx eax, byte [eax + 0x4c2e00]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00492890
mov ecx, dword [esp + 0x78]
add esp, 0x14
shl ecx, 2
mov esi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x64]
push dword [eax + 0xc]
call fcn.0049ef90
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x4934d4
cmp esi, 0xfffffc19
je 0x4934d4
test esi, esi
je 0x493485
cmp esi, 0xfffffc20
jne 0x497e36
lea eax, [esp + 0x58]
mov dword [ecx + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4933e5
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0x60]
cmp eax, ecx
je case.default.0x49429f
push eax
call fcn.0049f86f
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4934ec
push eax
call fcn.0049f86f
add esp, 4
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
mov ebx, dword [ebp + 0x84]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x16c], eax
jmp 0x49298e
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4929be.113
mov dword [esp + 0x14], esi
jmp 0x492992
mov eax, dword [esp + 0x17c]
add esi, 2
inc eax
mov edx, esi
push eax
push dword [esp + 0x17c]
mov ecx, ebx
push ebp
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov ecx, esi
nop dword [eax]
movzx eax, word [esi + 2]
cmp word [ecx + eax*2], 0x71
lea esi, [ecx + eax*2]
mov ecx, esi
je 0x493570
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492992
add esi, 2
mov dword [esp + 0x14], esi
mov edx, esi
mov ecx, esi
nop word [eax + eax]
movzx eax, word [edx + 2]
cmp word [ecx + eax*2], 0x71
lea edx, [ecx + eax*2]
mov ecx, edx
je 0x4935a0
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x492992
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esi + 2]
mov ecx, eax
nop
movzx eax, word [eax + 2]
cmp word [ecx + eax*2], 0x71
lea eax, [ecx + eax*2]
mov ecx, eax
je 0x4935f0
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492992
movzx edx, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov ebp, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x38], ebp
cmp edx, 0x80
je 0x493638
cmp edx, 0x85
jne 0x493818
movzx edx, word [esi + 4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x34], edx
lea eax, [edx + edx]
cmp eax, dword [ecx + 0x14]
jge 0x493812
mov ebp, esi
lea eax, [edx*8]
sub ebp, dword [ecx + 0x74]
xor edi, edi
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
sar ebp, 1
mov esi, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x28], esi
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x24], eax
mov esi, dword [ecx + 0x94]
nop dword [eax]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov dword [eax + ecx*4], edx
jb 0x4936d6
mov eax, dword [esp + 0x174]
mov dword [eax + 0x9c], 2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4c2e00]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492890
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x493752
mov ecx, dword [esp + 0x174]
mov edi, 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x18], ebx
lea eax, [eax + ebp*2]
mov dword [esp + 0x14], eax
jmp 0x493693
cmp ecx, 0xfffffc20
jne 0x493791
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x493784
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x493799
cmp word [eax], 0x71
je 0x493799
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x493784
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x94], esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
je 0x4936a0
mov ebp, ecx
test edi, edi
jne 0x4937ec
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
mov dword [ecx + eax], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
mov dword [ecx + eax + 4], edx
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], edx
cmp dword [esp + 0x38], 0
jne 0x4937fb
test edi, edi
je case.default.0x49429f
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492992
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
cmp edx, 0x82
jb 0x493838
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
mov ecx, dword [esp + 0x20]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4c2e00]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492890
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4938b2
mov ecx, dword [esp + 0x174]
mov edi, 1
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x18], ebx
lea eax, [eax + esi*2]
mov dword [esp + 0x14], eax
jmp 0x493826
cmp ecx, 0xfffffc20
jne 0x4938e8
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x493784
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4938f0
cmp word [eax], 0x71
jmp 0x4938ea
test ecx, ecx
jne 0x493784
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
je 0x493826
test edi, edi
jne 0x493921
test ebp, ebp
je case.default.0x49429f
mov esi, dword [esp + 0x14]
mov ebp, ecx
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492992
movzx eax, word [esi + 2]
mov ebp, esi
add eax, eax
mov edx, 0x82
sub ebp, eax
movzx eax, word [ebp]
mov ecx, eax
cmp ax, dx
jae 0x493963
cmp ecx, 0x7b
je 0x493963
mov dword [esp + 0x34], 0
jmp 0x49397c
mov edx, dword [esp + 0x178]
lea eax, [edx + 4]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x178], edx
mov dword [esp + 0x34], eax
cmp ecx, 0x77
jb 0x49398a
cmp ecx, 0x7a
jbe 0x497fb6
cmp ecx, 0x7c
je 0x497fb6
cmp ecx, 0x7f
je 0x4939ba
mov eax, 0x84
cmp cx, ax
je 0x4939ba
mov eax, 0x80
cmp cx, ax
je 0x4939ba
mov eax, 0x85
cmp cx, ax
jne 0x493a92
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x4939db
cmp dword [eax + 4], edi
je 0x497e6b
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x493a28
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x493a0a
cmp ebx, dword [esp + 0x34]
jne 0x497ba1
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x497f6c
mov ebp, dword [esp + 0x174]
jmp 0x492992
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x493a58
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x493a51
mov eax, ecx
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x493a42
mov edx, dword [esp + 0x174]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, edi
mov edi, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov ecx, ebx
sub ecx, dword [edx + 0x78]
mov eax, dword [edx + 0xc]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
cmp edi, esi
jg 0x4939f4
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x4939f4
mov edx, dword [esp + 0x174]
jmp 0x4939f8
cmp dword [ebp + 0x44], 0
je case.0x4929be.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x49429f
cmp ebx, dword [ebp + 0x78]
jne case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp dword [ebp + 0x44], 0
je 0x493ad6
cmp ebx, dword [ebp + 0x78]
je case.default.0x49429f
mov ecx, dword [ebp + 0x78]
jmp 0x493ae1
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x49429f.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x49429f
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493b27
cmp ebx, ecx
jbe 0x493b11
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049ba40
add esp, 0xc
test eax, eax
je 0x493b11
mov eax, 1
jmp 0x493b13
xor eax, eax
test eax, eax
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x49429f
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x49429f
cmp esi, 1
je 0x493b5c
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x49429f
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x492992
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493c16
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493bd6
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b980
add esp, 0xc
neg eax
sbb eax, eax
neg eax
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x49429f
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x49429f
cmp edx, 1
je case.0x49429f.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp dword [ebp + 0x48], 0
jne case.default.0x49429f
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x49429f.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x49429f.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499aa3
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp dword [ebp + 0x48], 0
jne case.default.0x49429f
cmp dword [ebp + 0x58], 0
je case.0x4929be.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x49429f
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x49429f.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x49429f.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499aa3
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493d16
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x493cd2
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049b980
add esp, 0xc
neg eax
sbb eax, eax
neg eax
je case.default.0x49429f
jmp 0x493d01
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x49429f
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x49429f
cmp edx, 1
je 0x493d01
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x49429f
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x49429f
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x49429f.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x49429f.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499aa3
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x78]
jne 0x493dbe
lea esi, [ebp + 0x88]
xor edi, edi
mov ecx, 0x54
mov eax, ebp
lea edx, [eax + ecx]
cmp ebx, dword [ebp + 0x7c]
jb 0x493e7d
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x493d8e
cmp ebx, dword [esi]
jbe 0x493d8e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499aa3
xor edx, edx
lea ecx, [edx + 1]
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x14], esi
cmp eax, 5
je 0x493da8
mov ecx, edx
xor ecx, edi
test ecx, ecx
jne case.default.0x49429f
mov edi, dword [esp + 0x170]
jmp 0x492992
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493dda
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
lea esi, [ebp + 0x88]
jae 0x493dea
mov dword [esi], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493e15
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebp + 0x54], 0
je 0x493e5a
cmp ecx, 0x5f
je 0x493e73
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x493e73
cmp eax, 3
je 0x493e73
jmp 0x493d5b
cmp ecx, 0x100
jae 0x493d5b
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x493d5b
mov edi, 1
jmp 0x493d5d
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493ea8
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [edx], 0
je 0x493f01
cmp ecx, 0x5f
jne 0x493ebc
lea edx, [ecx - 0x5e]
xor ecx, ecx
jmp 0x493d93
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x493ef5
cmp eax, 3
jne 0x493d8e
mov edx, 1
xor ecx, ecx
jmp 0x493d93
cmp ecx, 0x100
jae 0x493d8e
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x493d8e
mov edx, 1
xor ecx, ecx
jmp 0x493d93
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x493f5c
cmp ebx, ecx
jae 0x493f50
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b980
add esp, 0xc
test eax, eax
je 0x493f50
mov eax, 1
jmp 0x493f52
xor eax, eax
test eax, eax
jne case.default.0x49429f
jmp case.0x4929be.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4929be.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4929be.13
cmp edx, 1
je case.default.0x49429f
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x49429f
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x497fe6
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, eax
jae 0x493fba
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493fba
add ebx, 2
mov dword [esp + 0x18], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494023
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x100
jae case.0x49429f.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494089
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0xff
ja case.default.0x49429f
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4940ef
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x100
jae case.0x49429f.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494155
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0xff
ja case.default.0x49429f
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4941bb
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x100
jae case.0x49429f.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494221
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0xff
ja case.default.0x49429f
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494289
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x85
ja 0x4942cb
je case.0x49429f.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49429f
jmp dword [ecx*4 + 0x49a1f4]
cmp ebx, edx
jae case.0x49429f.10
cmp word [ebx], 0xa
jne case.0x49429f.10
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x492992
sub ecx, 0x2028
je case.0x49429f.11
sub ecx, 1
jne case.default.0x49429f
cmp dword [ebp + 0x68], 0
jne case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494333
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x2000
ja 0x494391
je case.default.0x49429f
cmp ecx, 0xa0
ja 0x49436d
je case.default.0x49429f
cmp ecx, 9
je case.default.0x49429f
cmp ecx, 0x20
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ecx, 0x1680
je case.default.0x49429f
cmp ecx, 0x180e
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ecx, 0x3000
ja case.0x4943b9.8203
je case.default.0x49429f
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4943b9.8203
movzx eax, byte [ecx + 0x49a20c]
jmp dword [eax*4 + 0x49a204]
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494401
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x2000
ja 0x494445
je case.0x4943b9.8203
cmp ecx, 0xa0
ja 0x49442e
je case.0x4943b9.8203
cmp ecx, 9
je case.0x4943b9.8203
cmp ecx, 0x20
jmp 0x493ab0
cmp ecx, 0x1680
je case.0x4943b9.8203
cmp ecx, 0x180e
jmp 0x493ab0
cmp ecx, 0x3000
ja case.default.0x49429f
je case.0x4943b9.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x49429f
movzx eax, byte [ecx + 0x49a274]
jmp dword [eax*4 + 0x49a26c]
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4944b5
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x85
ja 0x4944d6
je case.default.0x49429f
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4943b9.8203
jmp dword [ecx*4 + 0x49a2d4]
sub ecx, 0x2028
je case.default.0x49429f
sub ecx, 1
je case.default.0x49429f
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494538
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x85
ja 0x494559
je case.0x4943b9.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49429f
jmp dword [ecx*4 + 0x49a2e4]
sub ecx, 0x2028
je case.0x4943b9.8203
sub ecx, 1
jmp 0x493ab0
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4945ae
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x4945d9
jmp dword [ecx*4 + 0x49a2f4]
cmp dword [esp + 0x20], 0xf
jmp 0x49471d
mov al, byte [eax*8 + 0x4ceb69]
cmp al, 9
je 0x49470c
cmp al, 5
je 0x49470c
cmp al, 8
je 0x49470c
xor ecx, ecx
jmp 0x494711
movzx ecx, byte [eax*8 + 0x4ceb69]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4c2d88]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x49471d
movzx eax, byte [eax*8 + 0x4ceb69]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x494718
movzx eax, byte [eax*8 + 0x4ceb68]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x494718
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x49470c
cmp eax, 3
je 0x49470c
xor ecx, ecx
jmp 0x494711
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x49470c
cmp edx, 9
je 0x49470c
cmp edx, 0xa
je 0x49470c
cmp edx, 0xc
je 0x49470c
cmp edx, 0xd
je 0x49470c
xor ecx, ecx
jmp 0x494711
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x49470c
cmp edx, 9
je 0x49470c
cmp edx, 0xa
je 0x49470c
cmp edx, 0xb
jmp 0x4946b9
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x49470c
cmp eax, 3
je 0x49470c
cmp edx, 0x5f
je 0x49470c
xor ecx, ecx
jmp 0x494711
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x49429f
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x492992
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494772
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
je case.default.0x49429f
cmp ebx, esi
jae 0x49481e
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4947e5
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
jne 0x49481a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4947b0
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492992
movzx eax, word [esi + 2]
xor edx, edx
cmp dword [esp + 0x20], 0x6e
sete dl
add esi, 4
lea ecx, [eax + eax]
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], esi
cmp ecx, edi
jge 0x494864
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x494864
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x49486e
mov ebp, dword [ebp + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov eax, dword [esp + 0x14]
movzx eax, word [eax]
mov esi, eax
lea edi, [eax - 0x62]
cmp edi, 7
ja case.default.0x49488a
movzx eax, byte [edi + 0x49a320]
jmp dword [eax*4 + 0x49a318]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4c2600]
and eax, 1
mov dword [esp + 0x34], eax
movsx eax, byte [edi + 0x4c25f8]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4948e9
mov dword [esp + 0x28], closesocket
jmp 0x4948e9
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, 0x69
sete al
movzx esi, word [edi + 2]
mov dword [esp + 0x34], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, dword [esp + 0x54]
add edi, 6
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x170]
test ebp, ebp
je 0x492987
jns 0x494902
test esi, esi
je 0x492987
cmp esi, 1
jl 0x49493f
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004926e0
add esp, 0xc
test eax, eax
js 0x498429
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x40]
inc edi
mov dword [esp + 0x18], ebx
cmp edi, esi
jle 0x494910
mov eax, dword [esp + 0x28]
cmp esi, eax
je 0x492980
cmp dword [esp + 0x34], 0
je 0x498035
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov edi, esi
cmp esi, dword [esp + 0x28]
jge case.default.0x49429f
push dword [esp + 0x40]
mov esi, dword [esp + 0x178]
mov edx, ebx
mov ecx, dword [esp + 0x3c]
push esi
push ebp
call fcn.004926e0
add esp, 0xc
test eax, eax
js 0x498015
mov edx, dword [esp + 0x14]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
lea esi, [edi + 1]
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
mov edi, esi
test eax, eax
je 0x494993
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x174]
push edx
push esi
push ebp
mov edx, ebx
call fcn.004926e0
add esp, 0xc
test eax, eax
js 0x498015
mov edi, dword [esp + 0x170]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x18], ebx
mov ebp, esi
jmp 0x49298e
movzx eax, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x38], ebp
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x494a62
movzx eax, byte [ecx + 0x49a330]
jmp dword [eax*4 + 0x49a328]
movsx eax, byte [ecx + 0x4c25f8]
mov edx, ecx
movsx edi, byte [ecx + 0x4c2600]
and edx, 1
add esi, 2
mov dword [esp + 0x2c], edx
test eax, eax
mov ecx, closesocket
cmove eax, ecx
jmp 0x494ab0
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
sete al
mov dword [esp + 0x2c], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x14], esi
mov esi, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
cmp edi, esi
jl 0x494b5c
jmp 0x494ade
mov edi, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], edi
mov esi, edi
mov ecx, dword [esp + 0x174]
mov ebp, dword [ecx + 0x7c]
cmp ebx, ebp
jae 0x498607
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494b28
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
cmp edx, 0xff
jbe 0x494b37
cmp dword [esp + 0x20], 0x6a
jmp 0x494b4d
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x38]
test byte [edx + ecx], al
je case.default.0x49429f
inc esi
cmp esi, edi
jle 0x494ae8
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x492980
cmp dword [esp + 0x2c], 0
je 0x498156
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
cmp esi, dword [esp + 0x28]
jge case.default.0x49429f
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49860e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494bfa
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x4980f4
cmp dword [esp + 0x20], 0x6a
je case.default.0x49429f
jmp 0x498113
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
mov dword [esp + 0x3c], ebp
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x494c40
movzx eax, byte [ecx + 0x49a340]
jmp dword [eax*4 + 0x49a338]
movsx eax, byte [ecx + 0x4c25f8]
mov edx, ecx
movsx edi, byte [ecx + 0x4c2600]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x494ca0
mov dword [esp + 0x28], closesocket
jmp 0x494ca0
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
sete al
mov dword [esp + 0x2c], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], esi
mov esi, 1
cmp edi, esi
jl 0x494d21
jmp 0x494cc0
mov edi, 1
mov dword [esp + 0x28], 1
mov esi, edi
nop
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49860e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494d08
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
push 1
mov edx, ebp
call fcn.0049bb30
add esp, 4
test eax, eax
je case.default.0x49429f
inc esi
cmp esi, edi
jle 0x494cc0
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x492980
cmp dword [esp + 0x2c], 0
je 0x4982d0
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
cmp esi, dword [esp + 0x28]
jge case.default.0x49429f
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49860e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494dbf
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
push 1
mov edx, ebp
call fcn.0049bb30
add esp, 4
test eax, eax
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x494d75
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ax, word [esi + 2]
add esi, 2
mov ecx, 0xfc00
mov dword [esp + 0x14], esi
and ax, cx
xor edx, edx
mov ecx, 0xd800
cmp ax, cx
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sete dl
sub eax, ebx
inc edx
sar eax, 1
cmp edx, eax
jg 0x49840e
nop
mov eax, dword [esp + 0x14]
add esi, 2
dec edx
mov dword [esp + 0x14], esi
movzx ecx, word [eax]
mov ax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp cx, ax
jne case.default.0x49429f
test edx, edx
jg 0x494e50
jmp 0x49298e
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx edx, word [esi + 2]
lea ecx, [esi + 2]
mov eax, edx
lea esi, [ecx + 2]
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x494ec0
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x494ec5
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x494f05
mov edi, 0xff
mov ecx, eax
cmp ax, di
ja 0x494ee3
mov eax, dword [ebp + 0x34]
movzx ecx, byte [ecx + eax]
mov eax, dword [ebp + 0x34]
movzx eax, byte [edx + eax]
cmp eax, ecx
jne case.default.0x49429f
mov edi, dword [esp + 0x170]
add ebx, 2
mov dword [esp + 0x18], ebx
jmp 0x492992
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x494f3a
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
add ebx, 2
or esi, eax
mov dword [esp + 0x18], ebx
add esi, 0x10000
lea eax, [edi + ecx]
mov edi, dword [esp + 0x170]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x49298e
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
mov eax, dword [eax*8 + 0x4ceb6c]
add eax, edx
cmp esi, eax
jne case.default.0x49429f
jmp 0x49298e
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x49503b
mov dword [esp + 0x28], 1
movzx ebp, word [esi + 2]
xor edi, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ebp
cmp ecx, 0x28
je 0x494fb6
mov dword [esp + 0x2c], edi
cmp ecx, 0x35
jne 0x494fbe
mov dword [esp + 0x2c], 1
add esi, 4
jmp 0x495043
xor edi, edi
mov dword [esp + 0x28], 1
mov ebp, closesocket
add esi, 2
jmp 0x49503b
mov dword [esp + 0x28], 1
mov edi, 1
mov ebp, closesocket
add esi, 2
jmp 0x49503b
xor edi, edi
mov dword [esp + 0x28], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x49503b
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
add esi, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x2c], ecx
and dword [esp + 0x2c], 1
movsx ebp, byte [eax + 0x4c25f8]
movsx edi, byte [eax + 0x4c2600]
test ebp, ebp
mov eax, closesocket
cmove ebp, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ebp
mov ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], esi
movzx esi, word [esi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495426
mov eax, ecx
and esi, 0x3ff
shl esi, 0xa
movzx edx, word [eax + 2]
lea eax, [ecx + 4]
and edx, 0x3ff
mov dword [esp + 0x14], eax
or edx, esi
mov esi, 2
add edx, 0x10000
mov dword [esp + 0x40], esi
cmp dword [esp + 0x20], 0x2e
jb 0x4950d0
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
mov ecx, dword [eax*8 + 0x4ceb6c]
add ecx, edx
cmp ecx, edx
je 0x4950d0
lea edx, [esp + 0x74]
call fcn.0049b920
mov dword [esp + 0x38], eax
jmp 0x4950d8
mov dword [esp + 0x38], 0
mov ebp, 1
cmp edi, ebp
jl 0x49520a
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
lea eax, [ecx - 4]
mov dword [esp + 0x3c], eax
cmp ebx, eax
ja 0x49516f
mov edx, dword [esp + 0x34]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x495131
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x495136
add ecx, 4
add edx, 4
sub esi, 4
jae 0x495120
cmp esi, 0xfffffffc
je 0x495163
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49516b
cmp esi, 0xfffffffd
je 0x495163
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49516b
cmp esi, 0xfffffffe
je 0x495163
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49516b
cmp esi, 0xffffffff
je 0x495163
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49516b
add ebx, 4
jmp 0x4951f1
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x498429
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x498429
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4951a9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4951ae
add ecx, 4
add edx, 4
sub esi, 4
jae 0x495198
cmp esi, 0xfffffffc
je 0x4951eb
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x498429
cmp esi, 0xfffffffd
je 0x4951eb
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x498429
cmp esi, 0xfffffffe
je 0x4951eb
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x498429
cmp esi, 0xffffffff
je 0x4951eb
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x498429
add ebx, edi
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x18], ebx
cmp ebp, edi
jle 0x495106
mov eax, dword [esp + 0x1c]
cmp edi, eax
je 0x492980
cmp dword [esp + 0x2c], 0
jne 0x49845f
mov ebp, ebx
mov dword [esp + 0x2c], ebp
cmp edi, eax
jge 0x495348
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], eax
lea ebp, [eax - 4]
cmp ebx, ebp
ja 0x4952a4
mov edx, dword [esp + 0x34]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x495266
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49526b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x495255
cmp esi, 0xfffffffc
je 0x495298
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4952a0
cmp esi, 0xfffffffd
je 0x495298
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4952a0
cmp esi, 0xfffffffe
je 0x495298
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4952a0
cmp esi, 0xffffffff
je 0x495298
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4952a0
add ebx, 4
jmp 0x495329
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x4953ef
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4953ef
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4952e1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4952e6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4952d0
cmp esi, 0xfffffffc
je 0x495323
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4953ef
cmp esi, 0xfffffffd
je 0x495323
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4953ef
cmp esi, 0xfffffffe
je 0x495323
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4953ef
cmp esi, 0xffffffff
je 0x495323
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4953ef
add ebx, edi
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
inc edi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], edi
cmp edi, dword [esp + 0x1c]
jl 0x495240
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
jne 0x492980
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
cmp ebx, ebp
je case.default.0x49429f
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4953b5
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x495391
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x49541d
cmp ebx, dword [esi + 0x7c]
jb 0x49541d
cmp ebx, dword [esi + 0x88]
jbe 0x49541d
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499aa3
mov ebp, dword [esp + 0x2c]
jmp 0x49534f
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x49553e
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x49546b
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
mov ebp, dword [eax*8 + 0x4ceb6c]
add ebp, esi
jmp 0x495472
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x4954ad
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x498607
movzx eax, word [ebx]
cmp esi, eax
je 0x49549d
cmp ebp, eax
jne case.default.0x49429f
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x18], ebx
cmp ecx, edi
jle 0x495482
mov eax, dword [esp + 0x1c]
cmp edi, eax
je 0x492980
cmp dword [esp + 0x2c], 0
jne 0x498677
mov edx, dword [esp + 0x24]
mov edi, ebx
cmp edx, eax
jge 0x4954f5
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x495513
movzx eax, word [ebx]
cmp esi, eax
je 0x4954e7
cmp ebp, eax
jne 0x4954f5
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, dword [esp + 0x1c]
jl 0x4954d8
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
je 0x498621
mov edi, dword [esp + 0x170]
jmp 0x49298e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4954fc
cmp ebx, dword [ebp + 0x88]
jbe 0x4954fc
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x4954fc
cmp edi, 1
jl 0x495575
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x498607
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp esi, eax
jne case.default.0x49429f
inc ecx
cmp ecx, edi
jle 0x495552
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x492980
cmp dword [esp + 0x2c], 0
jne 0x498777
mov edx, dword [esp + 0x24]
mov edi, ebx
cmp edx, ebp
jge 0x4955b7
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, ecx
jae 0x4955d5
movzx eax, word [ebx]
cmp esi, eax
jne 0x4955b7
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, ebp
jl 0x4955a0
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
je 0x498725
mov edi, dword [esp + 0x170]
jmp 0x49298e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4955be
cmp ebx, dword [ebp + 0x88]
jbe 0x4955be
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x4955be
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
lea ecx, [esi + 2]
movzx esi, word [ebx]
mov eax, esi
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x495644
movzx eax, word [ebx]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x20], 0x20
lea eax, [ecx + 2]
movzx edx, word [ecx]
mov dword [esp + 0x14], eax
jne 0x49569f
cmp edx, 0x7f
jbe 0x495683
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
mov eax, dword [eax*8 + 0x4ceb6c]
add eax, edx
jmp 0x49568a
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x49429f
cmp eax, esi
je case.default.0x49429f
jmp 0x49298e
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x49429f
jmp 0x49298e
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x20], eax
mov edi, eax
jmp 0x49577d
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x20], eax
cmp ecx, 0x42
je 0x4956da
mov dword [esp + 0x2c], edi
cmp ecx, 0x4f
jne 0x4956e2
mov dword [esp + 0x2c], 1
lea ecx, [esi + 4]
jmp 0x49577d
mov dword [esp + 0x28], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x495775
mov dword [esp + 0x28], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x495775
mov dword [esp + 0x28], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x49577d
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], 1
xor edi, edi
mov dword [esp + 0x20], eax
jmp 0x49577d
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x2c], ecx
and dword [esp + 0x2c], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4c2600]
movsx eax, byte [eax + 0x4c25f8]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x49577d
mov dword [esp + 0x20], closesocket
movzx ebp, word [ecx]
lea esi, [ecx + 2]
cmp edx, 0x48
mov dword [esp + 0x24], ebp
mov dword [esp + 0x14], esi
mov edx, 1
jb 0x495921
cmp ebp, 0x7f
jbe 0x4957d0
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4ceb6c]
add ebp, dword [esp + 0x24]
jmp 0x4957de
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x34], ebp
cmp edi, 1
jl 0x49584b
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x498607
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495830
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add ebx, 2
or ecx, eax
mov dword [esp + 0x18], ebx
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je case.default.0x49429f
cmp ebp, ecx
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x4957f0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x492af0
cmp dword [esp + 0x2c], 0
jne 0x4988cf
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x4958d4
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4958f6
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4958b3
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je 0x4958cd
cmp dword [esp + 0x34], ecx
je 0x4958cd
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x495876
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49883f
mov ebp, dword [esp + 0x174]
jmp 0x492992
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4958d4
cmp ebx, dword [ecx + 0x88]
jbe 0x4958d4
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x4958d4
cmp edi, 1
jl 0x495985
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x498607
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495974
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add ebx, 2
or ecx, eax
mov dword [esp + 0x18], ebx
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x495934
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x492af0
cmp dword [esp + 0x2c], 0
jne 0x498a3f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495a08
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x495a2a
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4959ed
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je 0x495a01
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4959b0
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x4989af
mov ebp, dword [esp + 0x174]
jmp 0x492992
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495a08
cmp ebx, dword [ecx + 0x88]
jbe 0x495a08
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x495a08
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], 1
jmp 0x495b2c
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x24], eax
xor eax, eax
cmp ecx, 0x5c
mov dword [esp + 0x20], edi
lea ecx, [esi + 4]
sete al
mov dword [esp + 0x2c], eax
jmp 0x495b2c
xor edi, edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
lea ecx, [esi + 2]
jmp 0x495b24
mov edi, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
lea ecx, [esi + 2]
jmp 0x495b24
xor edi, edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
lea ecx, [esi + 2]
mov dword [esp + 0x24], 1
jmp 0x495b2c
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
xor edi, edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
jmp 0x495b2c
movsx edi, byte [edx + 0x4c25ab]
lea eax, [edx - 1]
and eax, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], eax
lea ecx, [esi + 2]
movsx eax, byte [edx + 0x4c25a3]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x495b2c
mov dword [esp + 0x24], closesocket
movzx eax, word [ecx]
mov edx, eax
mov esi, eax
mov dword [esp + 0x1c], esi
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
cmp edx, 0x10
je 0x495b4d
cmp edx, 0xf
je 0x495b4d
or eax, 0xffffffff
jmp 0x495b74
movzx ebp, word [eax + 2]
xor ecx, ecx
cmp edx, 0xf
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x174]
sete cl
mov dword [esp + 0x30], ecx
movzx ecx, word [eax]
add eax, 4
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x34], eax
test edi, edi
jle 0x4967d0
test eax, eax
js 0x4960d8
cmp eax, 8
ja case.default.0x4945d9
jmp dword [eax*4 + 0x49a348]
cmp dword [esp + 0x30], 0
jne case.default.0x49429f
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax + eax]
mov ecx, ebx
cmp ebx, esi
jae 0x497fe6
mov ax, word [ebx]
mov ebx, 0xfc00
and ax, bx
xor ebx, ebx
cmp ax, word [esp + 0x48]
sete bl
inc edx
lea ebx, [ebx*2 + 2]
add ebx, ecx
cmp edx, edi
jle 0x495bb0
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495c28
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
mov al, byte [eax*8 + 0x4ceb69]
cmp al, 9
je 0x495c5b
cmp al, 5
je 0x495c5b
cmp al, 8
je 0x495c5b
xor eax, eax
jmp 0x495c60
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x495bf0
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495cb8
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], ebp
mov ebp, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x30]
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x495c80
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495d4f
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
mov ebp, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x30]
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x495d17
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ddb
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
mov ebp, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb68]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x30]
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x495da3
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e68
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x495ea1
cmp eax, 3
je 0x495ea1
xor eax, eax
jmp 0x495ea6
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x495e30
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
nop
cmp ebx, edi
jae 0x498607
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f08
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x495f50
cmp edx, 9
je 0x495f50
cmp edx, 0xa
je 0x495f50
cmp edx, 0xc
je 0x495f50
cmp edx, 0xd
je 0x495f50
xor eax, eax
jmp 0x495f55
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
inc esi
cmp esi, ebp
jle 0x495ed0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x498607
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495fb9
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x496006
cmp edx, 9
je 0x496006
cmp edx, 0xa
je 0x496006
cmp edx, 0xb
je 0x496006
cmp edx, 0xc
je 0x496006
cmp edx, 0xd
je 0x496006
xor eax, eax
jmp 0x49600b
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
inc esi
cmp esi, ebp
jle 0x495f81
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x498607
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496077
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x4960b7
cmp eax, 3
je 0x4960b7
cmp edx, 0x5f
je 0x4960b7
xor eax, eax
jmp 0x4960bc
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
inc esi
cmp esi, ebp
jle 0x496037
mov edi, dword [esp + 0x20]
jmp 0x4967cb
cmp edx, 0x16
jne 0x4961e7
mov ebp, dword [ebp + 0x7c]
lea edi, [edx - 0x15]
cmp ebx, ebp
jae 0x498607
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496121
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
je case.default.0x49429f
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4961cf
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49619a
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
jne 0x4961cf
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x496165
inc edi
cmp edi, dword [esp + 0x20]
jle 0x4960e7
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4967cb
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4945d9
jmp dword [eax*4 + 0x49a36c]
mov esi, 1
nop
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x497fe6
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x496231
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b980
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne case.default.0x49429f
jmp 0x49625c
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x49625c
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x49625c
cmp edx, 1
je case.default.0x49429f
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x49429f
add ebx, 2
cmp ebx, dword [ebp + 0x7c]
jae 0x49627c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49627c
add ebx, 2
inc esi
cmp esi, edi
jle 0x496200
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov edx, dword [ebp + 0x7c]
mov ecx, 1
cmp ebx, edx
jae 0x497fe6
add ebx, 2
cmp ebx, edx
jae 0x4962b7
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x4962b7
add ebx, 2
inc ecx
cmp ecx, edi
jle 0x496296
mov dword [esp + 0x18], ebx
jmp 0x4967d0
mov eax, dword [ebp + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp ebx, eax
ja case.default.0x49429f
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x4967d0
mov edi, dword [ebp + 0x7c]
mov esi, 1
cmp ebx, edi
jae 0x497fe6
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496320
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
cmp ecx, 0x85
ja 0x496352
je case.0x496336.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49429f
jmp dword [ecx*4 + 0x49a3ac]
mov ebx, edx
cmp edx, edi
jae 0x49636f
cmp word [edx], 0xa
jne 0x49636f
lea ebx, [edx + 2]
jmp 0x49636f
mov ebx, edx
jmp 0x49636f
sub ecx, 0x2028
je case.0x496336.11
sub ecx, 1
jne case.default.0x49429f
cmp dword [ebp + 0x68], 0
mov ebx, edx
jne case.default.0x49429f
inc esi
cmp esi, dword [esp + 0x20]
jle 0x4962e8
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4963c8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x2000
ja 0x49641e
je case.default.0x49429f
cmp ecx, 0xa0
ja 0x496404
je case.default.0x49429f
cmp ecx, 9
je case.default.0x49429f
cmp ecx, 0x20
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x496390
mov dword [esp + 0x18], ebx
jmp 0x4967cb
cmp ecx, 0x1680
je case.default.0x49429f
cmp ecx, 0x180e
je case.default.0x49429f
jmp case.0x49643e.8203
cmp ecx, 0x3000
ja case.0x49643e.8203
je case.default.0x49429f
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49643e.8203
movzx eax, byte [ecx + 0x49a3c4]
jmp dword [eax*4 + 0x49a3bc]
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496488
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x2000
ja 0x4964ce
je case.0x4964f2.8193
cmp ecx, 0xa0
ja 0x4964b8
je case.0x4964f2.8193
cmp ecx, 9
je case.0x4964f2.8193
cmp ecx, 0x20
jne case.default.0x49429f
inc edx
cmp edx, edi
jle 0x496450
mov dword [esp + 0x18], ebx
jmp 0x4967cb
cmp ecx, 0x1680
je case.0x4964f2.8193
cmp ecx, 0x180e
jne case.default.0x49429f
jmp case.0x4964f2.8193
cmp ecx, 0x3000
ja case.default.0x49429f
je case.0x4964f2.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x49429f
movzx eax, byte [ecx + 0x49a42c]
jmp dword [eax*4 + 0x49a424]
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496539
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x85
ja 0x496556
je case.default.0x49429f
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49654f
jmp dword [ecx*4 + 0x49a48c]
sub ecx, 0x2028
je case.default.0x49429f
sub ecx, 1
je case.default.0x49429f
inc edx
cmp edx, edi
jle 0x496501
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4965b9
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x85
ja 0x4965d6
je case.0x4965cf.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49429f
jmp dword [ecx*4 + 0x49a49c]
sub ecx, 0x2028
je case.0x4965cf.10
sub ecx, 1
jne case.default.0x49429f
inc edx
cmp edx, edi
jle 0x496581
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496638
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x80
jae 0x49664d
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x49429f
inc edx
cmp edx, edi
jle 0x496600
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x49429f
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x49429f
inc edx
add ebx, 2
cmp edx, edi
jle 0x496663
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4966c8
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x49429f
add ebx, 2
cmp ebx, esi
jae 0x4966e7
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4966e7
add ebx, 2
inc edx
cmp edx, edi
jle 0x4966a4
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x497fe6
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x49429f
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x49429f
inc edx
add ebx, 2
cmp edx, edi
jle 0x496700
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x496765
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x49429f
add ebx, 2
cmp ebx, esi
jae 0x496784
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x496784
add ebx, 2
inc edx
cmp edx, edi
jle 0x496741
mov dword [esp + 0x18], ebx
jmp 0x4967cb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497fe6
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x49429f
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x49429f
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x496797
mov esi, dword [esp + 0x1c]
nop
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x492980
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0x34]
jne 0x498bdf
mov ebp, ebx
mov dword [esp + 0x3c], ebp
test eax, eax
js 0x496ebf
cmp eax, 8
ja case.default.0x4945d9
jmp dword [eax*4 + 0x49a4ac]
mov ecx, dword [esp + 0x174]
cmp edi, edx
jge 0x496e9d
mov edx, dword [ecx + 0x7c]
mov esi, 0xd800
cmp ebx, edx
jae 0x49685b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x30], 0
movzx ecx, ax
jne 0x496e96
xor eax, eax
cmp cx, si
sete al
inc edi
lea ebx, [ebx + eax*2]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x496820
jmp 0x496e96
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x496e9d
cmp ebx, dword [ecx + 0x88]
jbe 0x496e9d
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x496e9d
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x496939
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4968e0
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
mov al, byte [eax*8 + 0x4ceb69]
cmp al, 9
je 0x496913
cmp al, 5
je 0x496913
cmp al, 8
je 0x496913
xor eax, eax
jmp 0x496918
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x496e96
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4968a3
jmp 0x496e96
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x496e9d
cmp ebx, dword [ecx + 0x88]
jbe 0x496e9d
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x499aa3
jmp 0x496e9d
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x49685b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4969bd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], ebp
mov ebp, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x496e96
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x496980
jmp 0x496e96
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x49685b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496a65
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x496e96
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x496a28
jmp 0x496e96
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x49685b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496b02
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb68]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x496e96
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x496ac5
jmp 0x496e96
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x496939
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496ba3
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x496bdc
cmp eax, 3
je 0x496bdc
xor eax, eax
jmp 0x496be1
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x496e96
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x496b62
jmp 0x496e96
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax]
nop dword [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x496cd7
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496c61
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x496ca9
cmp edx, 9
je 0x496ca9
cmp edx, 0xa
je 0x496ca9
cmp edx, 0xc
je 0x496ca9
cmp edx, 0xd
je 0x496ca9
xor eax, eax
jmp 0x496cae
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x496e96
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x496c20
jmp 0x496e96
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x496e9d
cmp ebx, dword [ecx + 0x88]
jbe 0x496e9d
mov dword [ecx + 0x64], esi
cmp eax, 1
jg 0x499aa3
jmp 0x496e9d
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x496cd7
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496d5d
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x496dae
cmp edx, 9
je 0x496dae
cmp edx, 0xa
je 0x496dae
cmp edx, 0xb
je 0x496dae
cmp edx, 0xc
je 0x496dae
cmp edx, 0xd
je 0x496dae
xor eax, eax
jmp 0x496db3
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x496e96
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x496d20
jmp 0x496e96
cmp edi, edx
jge 0x496e96
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
mov esi, 1
cmp ebx, edi
jae 0x496cd7
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496e31
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x496e71
cmp eax, 3
je 0x496e71
cmp edx, 0x5f
je 0x496e71
xor eax, eax
jmp 0x496e76
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x496e96
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x496df0
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x498b15
mov ebp, dword [esp + 0x174]
jmp 0x492992
cmp esi, 0x16
jne 0x4970e9
mov esi, dword [esp + 0x174]
cmp edi, edx
jge 0x497018
mov edi, dword [esi + 0x7c]
nop word [eax + eax]
cmp ebx, edi
jae 0x496ff6
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496f21
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
je 0x497018
mov esi, dword [esi + 0x7c]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebx, esi
jae 0x496fd7
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496f9e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
jne 0x496fd3
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x496f65
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x174]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x496ee0
jmp 0x497018
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497018
cmp ebx, dword [esi + 0x88]
jbe 0x497018
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499aa3
cmp dword [esp + 0x28], 0
jne 0x492980
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
nop word [eax + eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49429f
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x497087
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4970b2
movzx eax, word [ebx + 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 + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
jne 0x498ba1
sub ebx, 2
jmp 0x49706d
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4945d9
jmp dword [eax*4 + 0x49a4d0]
cmp edx, 0x7fffffff
jge 0x4971f2
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
nop word [eax + eax]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4971cc
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x497154
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b980
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne 0x49745b
jmp 0x497186
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x497186
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x497186
cmp edx, 1
je 0x49745b
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x49745b
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, dword [eax + 0x7c]
jae 0x4971bc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [esp + 0x174]
jne 0x4971bc
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x497120
jmp 0x49745b
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x49745b
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x88]
jbe 0x49745b
jmp 0x497334
mov eax, dword [esp + 0x174]
nop dword [eax]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4971cc
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x497230
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b980
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne 0x49745b
jmp 0x497266
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x497266
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x497266
cmp edx, 1
je 0x49745b
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x49745b
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, dword [eax + 0x7c]
jae 0x4972a0
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [esp + 0x174]
jne 0x4972a0
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x497200
jmp 0x49745b
cmp edx, 0x7fffffff
jge 0x49730c
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop
cmp ebx, ecx
jae 0x497303
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, ecx
jae 0x4972f9
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x4972f9
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, edx
jl 0x4972d0
jmp 0x49745b
mov ecx, dword [esp + 0x174]
jmp 0x49731a
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x497462
cmp ebx, dword [ecx + 0x88]
jbe 0x497462
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x497462
sub edx, edi
mov edi, dword [esp + 0x174]
mov ecx, dword [edi + 0x7c]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x497379
mov eax, dword [edi + 0x8c]
mov ebx, ecx
mov dword [esp + 0x18], ebx
test eax, eax
je 0x497380
cmp ecx, dword [edi + 0x88]
mov ecx, edi
jmp 0x49732e
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x497462
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497523
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4973dc
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x4973e1
mov eax, 2
cmp ecx, 0xd
jne 0x497406
mov ebx, edx
mov dword [esp + 0x18], ebx
cmp edx, esi
jae 0x497457
cmp word [ebx], 0xa
jne 0x49744c
lea ebx, [edx + 2]
jmp 0x497448
cmp ecx, 0xa
je 0x497446
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x497a66
cmp ecx, 0xb
je 0x497446
cmp ecx, 0xc
je 0x497446
cmp ecx, 0x85
je 0x497446
cmp ecx, 0x2028
je 0x497446
cmp ecx, 0x2029
jne 0x497a66
add ebx, eax
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4973a0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
jne 0x492980
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
lea ecx, [ebx - 2]
cmp ebx, ebp
je case.default.0x49429f
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4974c7
add ecx, 0xfffffffe
mov ebx, ecx
cmp esi, 0x11
jne 0x4974e3
cmp ecx, ebp
jbe 0x4974e3
cmp word [ecx], 0xa
jne 0x4974e3
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
cmove ebx, eax
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x4974a4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49754c
cmp ebx, dword [ecx + 0x88]
jbe 0x49754c
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499aa3
mov esi, dword [esp + 0x1c]
jmp 0x497462
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x49764c
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4975ad
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x2000
ja 0x497622
je case.0x49763e.8193
cmp ecx, 0xa0
ja 0x49760e
je case.0x49763e.8193
cmp ecx, 9
je case.0x49763e.8193
cmp ecx, 0x20
je case.0x49763e.8193
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x1c], 0x12
sete al
cmp ecx, eax
je 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x497570
jmp 0x497457
cmp ecx, 0x1680
je case.0x49763e.8193
cmp ecx, 0x180e
jmp 0x4975dd
cmp ecx, 0x3000
ja case.0x49763e.8203
je case.0x49763e.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49763e.8203
movzx eax, byte [ecx + 0x49a518]
jmp dword [eax*4 + 0x49a510]
mov ecx, 1
jmp 0x4975e5
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49754c
cmp ebx, dword [ecx + 0x88]
jbe 0x49754c
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x499aa3
mov esi, dword [esp + 0x1c]
jmp 0x497462
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x49764c
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4976cd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x4976e6
je case.0x4976df.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4976df
jmp dword [ecx*4 + 0x49a578]
sub ecx, 0x2028
je case.0x4976df.10
sub ecx, 1
je case.0x4976df.10
xor ecx, ecx
jmp 0x4976fc
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0x14
sete al
cmp ecx, eax
je 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x497694
jmp 0x497457
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497523
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497774
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x497790
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x497737
jmp 0x497457
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497523
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4977f2
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x497457
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4977b5
jmp 0x497457
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497523
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497874
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x497890
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x497837
jmp 0x497457
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497523
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4978f2
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x497457
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4978b5
jmp 0x497457
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497523
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497974
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x497990
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x497937
jmp 0x497457
cmp edi, edx
jge 0x49745b
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497a25
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4979f2
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x497457
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x497457
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4979b5
jmp 0x497457
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49754c
cmp ebx, dword [ecx + 0x88]
jbe 0x49754c
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x49754c
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x1c]
mov ecx, edx
jmp 0x497462
cmp ecx, 0x74
mov ecx, ebx
jne 0x497abc
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
lea edx, [esi + 4]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x497cfb
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, ebp
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x497cfb
mov edi, dword [esp + 0x170]
mov eax, dword [ebp + 0x90]
cmp eax, edi
movzx ecx, word [esi + 6]
cmovg edi, eax
add ecx, 2
cmp word [esi + ecx*2], 0x71
mov dword [esp + 0x170], edi
lea ecx, [esi + ecx*2]
jne 0x497b52
mov edx, ecx
movzx eax, word [ecx + 2]
cmp word [edx + eax*2], 0x71
lea ecx, [edx + eax*2]
mov edx, ecx
je 0x497b32
jmp 0x497b52
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jne 0x497cff
mov dword [ebp + 0x9c], 2
mov edx, esi
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x497f50
cmp eax, 0x74
jne 0x497c0a
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
lea edx, [esi + 4]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x497ecf
mov ecx, 0x82
cmp ax, cx
jae 0x497e8e
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x497cfb
mov eax, 0x82
cmp word [ebp], ax
jb 0x497c1f
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, ebp
call fcn.00492890
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x497c60
mov esi, dword [esp + 0x174]
cmp dword [esi + 0xb8], ebp
jne 0x497d14
jmp 0x497c6f
test eax, eax
jne 0x497d14
mov esi, dword [esp + 0x174]
mov ecx, dword [esp + 0x14]
add ecx, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], ecx
je 0x497f0d
mov ebp, dword [esp + 0x174]
mov esi, ecx
jmp 0x497cff
movzx ebp, word [esi + 4]
mov edi, dword [esp + 0x174]
lea eax, [ebp*2]
cmp eax, dword [edi + 0x14]
jl 0x499ab3
mov ebp, dword [esp + 0x174]
nop word [eax + eax]
cmp edx, 0x82
jae 0x497d1f
cmp edx, 0x7b
je 0x497d1f
cmp dword [ebp + 0x6c], 0
jne 0x497d29
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x497d29
movzx eax, cx
movzx eax, byte [eax + 0x4c2e00]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x492931
inc eax
mov dword [ebp], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [ebp + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
mov esi, dword [ebp + 0xb0]
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ebp
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4c2e00]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00492890
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x497d98
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebp + 0x80], eax
jae 0x499c53
cmp word [edi], 0x71
je 0x497da0
cmp word [eax], 0x71
jne 0x499c53
jmp 0x497da0
test edx, edx
jne 0x499c17
movzx eax, word [edi + 2]
mov dword [ebp + 0xb0], esi
lea edi, [edi + eax*2]
mov esi, edi
mov dword [esp + 0x14], edi
cmp word [esi], 0x71
jne case.default.0x49429f
mov edx, dword [esp + 0x20]
mov ecx, 0x71
jmp 0x497cc0
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi + 2]
add ecx, eax
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x497e0d
cmp eax, 0xfffffc1d
je 0x497e0d
cmp eax, 0xfffffc20
jne 0x497d14
lea eax, [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x497e4e
push eax
call fcn.0049f86f
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x16c]
mov dword [edx + 0x84], ebx
mov dword [edx + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov edx, ebp
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00492890
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x497f99
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ecx
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov dword [esi + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [edx + 0x84], ebx
mov eax, 0xfffffc1b
mov dword [edx + 0x90], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, esi
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov eax, dword [esp + 0x174]
mov dword [eax + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x90], edi
mov dword [eax + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x49429f
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x49429f
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499aa3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x49429f
cmp ebx, dword [esi + 0x7c]
jb case.default.0x49429f
cmp ebx, dword [esi + 0x88]
jbe case.default.0x49429f
mov dword [esi + 0x64], 1
jmp 0x497fff
mov edi, ebx
cmp esi, eax
jge 0x4980a1
nop
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004926e0
add esp, 0xc
test eax, eax
js 0x49806b
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x40]
inc esi
cmp esi, dword [esp + 0x28]
jl 0x498040
jmp 0x498099
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x498099
cmp ebx, dword [ecx + 0x7c]
jb 0x498099
cmp ebx, dword [ecx + 0x88]
jbe 0x498099
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499aa3
cmp ebx, edi
jb case.default.0x49429f
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x4980a1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x49429f
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov esi, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x494bb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x4981c4
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 0x7c]
nop
cmp ebx, edi
jae 0x49829a
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4981ad
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x498261
cmp dword [esp + 0x20], 0x6a
jne 0x498281
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49429f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498227
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498202
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x38]
test byte [edx + ecx], al
je 0x4981c4
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x24], eax
cmp eax, ecx
jl 0x498170
jmp 0x4981c4
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4981cb
cmp ebx, dword [esi + 0x88]
jbe 0x4981cb
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x4981cb
mov ebp, ebx
cmp edi, eax
jge 0x498341
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4983df
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498325
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [esp + 0x3c]
push 1
call fcn.0049bb30
add esp, 4
test eax, eax
je 0x498341
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x28]
jl 0x4982e0
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49429f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4983a5
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498380
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x498348
cmp ebx, dword [esi + 0x88]
jbe 0x498348
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499aa3
jmp 0x498348
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x49429f
cmp ebx, ecx
jb case.default.0x49429f
jmp 0x497ff0
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x49429f
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x49429f
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x49429f
mov dword [ecx + 0x64], 1
jmp 0x497fff
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x1c]
jge case.default.0x49429f
mov ebp, dword [ebp + 0x7c]
lea eax, [ebp - 4]
cmp ebx, eax
ja 0x49851b
mov eax, dword [esp + 0x40]
mov ecx, ebx
mov edx, dword [esp + 0x34]
lea esi, [eax + eax]
sub esi, 4
jb 0x4984e1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4984e6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4984d0
cmp esi, 0xfffffffc
je 0x498513
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49851b
cmp esi, 0xfffffffd
je 0x498513
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49851b
cmp esi, 0xfffffffe
je 0x498513
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49851b
cmp esi, 0xffffffff
je 0x498513
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49851b
add ebx, 4
jmp 0x49859d
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x4985eb
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x4985eb
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x498555
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49855a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x498544
cmp esi, 0xfffffffc
je 0x498597
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4985eb
cmp esi, 0xfffffffd
je 0x498597
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4985eb
cmp esi, 0xfffffffe
je 0x498597
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4985eb
cmp esi, 0xffffffff
je 0x498597
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4985eb
add ebx, edi
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x17c]
inc edi
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x2c], edi
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x4984a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x49429f
cmp ebx, ebp
jmp 0x498441
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x49429f
jmp 0x498447
cmp ebx, edi
jb case.default.0x49429f
nop dword [eax]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497d14
cmp ebx, edi
jae 0x498630
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
cmp edi, dword [esp + 0x1c]
jge case.default.0x49429f
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49860e
movzx eax, word [ebx]
cmp esi, eax
je 0x4986db
cmp ebp, eax
jne case.default.0x49429f
mov eax, dword [esp + 0x24]
add ebx, 2
mov edx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x24], eax
mov edi, eax
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x4986b2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ebx, edi
jb case.default.0x49429f
nop dword [eax]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497d14
cmp ebx, edi
jae 0x498730
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ecx
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov ecx, edi
cmp edi, ebp
jge case.default.0x49429f
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498819
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x49429f
mov eax, dword [esp + 0x17c]
lea edi, [ecx + 1]
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x4987b2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x49429f
cmp ebx, dword [edx + 0x88]
jbe case.default.0x49429f
mov dword [edx + 0x64], 1
jmp 0x497fff
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49429f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498895
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498870
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x49429f
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498819
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49895a
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je case.default.0x49429f
cmp ebp, ecx
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498910
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49429f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498a05
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x4989e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x49429f
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498819
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498aca
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498a80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49429f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498b67
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498b42
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x497060
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x499525
cmp eax, 8
ja case.default.0x4945d9
jmp dword [eax*4 + 0x49a588]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop word [eax + eax]
mov ecx, ebx
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c6a
lea ebx, [ecx + 4]
cmp dword [esp + 0x30], 0
jne case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498c40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498d35
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
mov al, byte [eax*8 + 0x4ceb69]
cmp al, 9
je 0x498d68
cmp al, 5
je 0x498d68
cmp al, 8
je 0x498d68
xor eax, eax
jmp 0x498d6d
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498cf2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498e43
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edx, dword [esp + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], edx
sete cl
cmp ecx, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498e00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498f45
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x498f02
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499043
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb68]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499143
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x49917c
cmp eax, 3
je 0x49917c
xor eax, eax
jmp 0x499181
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499100
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499253
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x49929b
cmp edx, 9
je 0x49929b
cmp edx, 0xa
je 0x49929b
cmp edx, 0xc
je 0x49929b
cmp edx, 0xd
je 0x49929b
xor eax, eax
jmp 0x4992a0
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499210
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499373
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 6
je 0x4993c0
cmp edx, 9
je 0x4993c0
cmp edx, 0xa
je 0x4993c0
cmp edx, 0xb
je 0x4993c0
cmp edx, 0xc
je 0x4993c0
cmp edx, 0xd
je 0x4993c0
xor eax, eax
jmp 0x4993c5
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
cmp ebx, dword [ebp + 0x7c]
jae 0x497fe6
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499493
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cfc48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
mov eax, dword [eax*4 + 0x4c2d88]
cmp eax, 1
je 0x4994d3
cmp eax, 3
je 0x4994d3
cmp edx, 0x5f
je 0x4994d3
xor eax, eax
jmp 0x4994d8
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499450
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
cmp esi, 0x16
jne 0x49969e
mov ebp, dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x497fe6
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4995b7
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
je case.default.0x49429f
cmp ebx, esi
jae 0x49965b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499626
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cfc48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c3268]
movzx eax, byte [eax*8 + 0x4ceb69]
cmp dword [eax*4 + 0x4c2d88], 2
jne 0x49965b
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4995f1
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499570
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
jne 0x497d14
mov ebp, dword [esp + 0x1c]
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49429f
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x499a79
mov edx, esi
cmp ebp, 0xc
jne 0x49975b
mov edx, dword [ecx + 0x18]
add ecx, 0x1c
test edx, edx
je 0x49971d
push 1
push ecx
push esi
mov ecx, ebx
call fcn.0049b980
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne case.default.0x49429f
jmp 0x49974f
mov ecx, dword [ecx]
lea eax, [ecx + ecx]
sub esi, eax
cmp ebx, esi
ja 0x49974f
mov edx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [edx + 0x2c]
jne 0x49974f
cmp ecx, 1
je case.default.0x49429f
mov ax, word [ebx + 2]
cmp ax, word [edx + 0x2e]
je case.default.0x49429f
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, esi
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49978d
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov esi, edx
add ecx, 0x10000
add ebx, 2
lea eax, [ebp - 6]
cmp eax, 0xf
ja case.default.0x4945d9
jmp dword [eax*4 + 0x49a5ac]
cmp ecx, 0x85
ja 0x4997d7
je case.0x4997b6.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49429f
jmp dword [ecx*4 + 0x49a5ec]
cmp ebx, esi
jae case.0x499799.12
cmp word [ebx], 0xa
jne case.0x499799.12
add ebx, 2
jmp case.0x499799.12
sub ecx, 0x2028
je case.0x4997b6.11
sub ecx, 1
jne case.default.0x49429f
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x68], 0
jne case.default.0x49429f
jmp case.0x499799.12
cmp ecx, 0x2000
ja 0x499842
je case.default.0x49429f
cmp ecx, 0xa0
ja 0x49982b
je case.default.0x49429f
cmp ecx, 9
je case.default.0x49429f
cmp ecx, 0x20
jmp 0x499a1a
cmp ecx, 0x1680
je case.default.0x49429f
cmp ecx, 0x180e
jmp 0x499a1a
cmp ecx, 0x3000
ja case.0x499799.12
je case.default.0x49429f
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x499799.12
movzx eax, byte [ecx + 0x49a604]
jmp dword [eax*4 + 0x49a5fc]
cmp ecx, 0x2000
ja 0x4998c1
je case.0x499799.12
cmp ecx, 0xa0
ja 0x4998a4
je case.0x499799.12
cmp ecx, 9
je case.0x499799.12
cmp ecx, 0x20
jne case.default.0x49429f
jmp case.0x499799.12
cmp ecx, 0x1680
je case.0x499799.12
cmp ecx, 0x180e
jne case.default.0x49429f
jmp case.0x499799.12
cmp ecx, 0x3000
ja case.default.0x49429f
je case.0x499799.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x49429f
movzx eax, byte [ecx + 0x49a66c]
jmp dword [eax*4 + 0x49a664]
cmp ecx, 0x85
ja 0x499911
je case.default.0x49429f
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x499799.12
jmp dword [ecx*4 + 0x49a6cc]
sub ecx, 0x2028
je case.default.0x49429f
sub ecx, 1
jmp 0x499a1a
cmp ecx, 0x85
ja 0x499946
je case.0x499799.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49429f
jmp dword [ecx*4 + 0x49a6dc]
sub ecx, 0x2028
je case.0x499799.12
sub ecx, 1
jne case.default.0x49429f
jmp case.0x499799.12
cmp ecx, 0x100
jae case.0x499799.12
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x49429f
jmp case.0x499799.12
cmp ecx, 0x100
jae case.default.0x49429f
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jmp 0x499a1a
cmp ecx, 0x100
jae case.0x499799.12
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x49429f
jmp case.0x499799.12
cmp ecx, 0x100
jae case.default.0x49429f
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jmp 0x499a1a
cmp ecx, 0x100
jae case.0x499799.12
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x49429f
jmp case.0x499799.12
cmp ecx, 0x100
jae case.default.0x49429f
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x49429f
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x4996d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x49429f
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x49429f
mov dword [ecx + 0x64], 1
cmp eax, 1
jle case.default.0x49429f
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x174]
mov esi, dword [edi + 0x94]
mov eax, dword [ecx + ebp*8]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + ebp*8 + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0xb0]
sub eax, ebp
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
sar eax, 1
mov dword [ecx], eax
mov ecx, edx
mov edx, dword [esp + 0x20]
cmp edx, 0x82
jb 0x499b07
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
mov ecx, dword [esp + 0x20]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4c2e00]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492890
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x499bd8
cmp edx, 0xfffffc20
jne 0x499b94
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x499c0a
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x499b90
cmp word [eax], 0x71
jne 0x499c0a
xor edx, edx
jmp 0x499ba3
test edx, edx
jne 0x499c0a
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x94], esi
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xb0], edi
cmp word [eax], 0x71
jne 0x499bdf
jmp 0x499af1
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x54]
mov dword [eax + ebp*8], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [eax + ebp*8 + 4], ecx
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub ecx, ebp
mov dword [eax + ecx*4], esi
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edx, 0xfffffc1c
jne 0x499c53
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
je 0x499c48
cmp ecx, 0x71
jne 0x499c40
mov ecx, edi
movzx eax, word [edi + 2]
cmp word [ecx + eax*2], 0x71
lea edi, [ecx + eax*2]
mov ecx, edi
je 0x499c30
movzx eax, word [edi + 2]
add eax, eax
sub edi, eax
xor eax, eax
cmp dword [ebp + 0xb8], edi
cmove edx, eax
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea edi, [esi + 4]
mov dword [ebp + 0xb4], edi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [esi]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4c2e00]
movzx eax, word [esi + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.00492890
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x499cc6
cmp esi, 0xfffffc19
je 0x499cc6
cmp esi, 0xfffffc1b
jne 0x499ce2
cmp dword [ebp + 0xb0], 0
jne 0x499ce2
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x497e4e
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049b8f0
test eax, eax
jne 0x497e4e
mov dword [ebp + 0x80], ebx
lea eax, [esi - 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4c2e00]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492890
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x499d7b
cmp ecx, 0xfffffc1d
je 0x499d7b
cmp ecx, 0xfffffc1e
je 0x499d7b
cmp ecx, 0xfffffc1f
je 0x499d7b
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1a
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4c2e00]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499dc7
cmp eax, 0xfffffc20
jne 0x497d14
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0xb4], esi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4c2e00]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00492890
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x499e33
cmp ecx, 0xfffffc19
jne 0x499e42
cmp dword [ebp + 0xb0], 0
jne 0x499e42
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x499dc7
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1d
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4c2e00]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499ea2
cmp eax, 0xfffffc1d
je 0x499ea2
cmp eax, 0xfffffc20
jne 0x497d14
mov dword [ebp + 0x80], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4c2e00]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492890
add esp, 0x14
test eax, eax
je 0x499f6c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0xb4], esi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4c2e00]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00492890
add esp, 0x14
cmp eax, 1
je 0x499f51
cmp eax, 0xfffffc19
jne 0x499f60
cmp dword [ebp + 0xb0], 0
jne 0x499f60
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x497d14
mov esi, dword [esp + 0x14]
mov dword [ebp + 0x80], esi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x16c]
cmp ebx, esi
jne 0x499fc2
cmp edx, 0x99
je 0x499fc2
cmp dword [ebp + 0xa8], 0
jne 0x499fc2
cmp dword [ebp + 0x5c], 0
jne case.default.0x49429f
cmp dword [ebp + 0x60], 0
je 0x499fc2
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x49429f
mov dword [ebp + 0x84], ebx
test edx, edx
mov eax, 0xfffffc19
mov dword [ebp + 0x90], edi
mov ecx, 1
mov dword [ebp + 0x80], esi
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x158
ret