Function at 0x4921b0
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 + 0x18], ebx
push edi
test esi, esi
jne 0x49220e
cmp dword [esp + 0x17c], edx
jne 0x4921f3
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004921b0
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 + 0x40], 0
mov dword [esp + 0x34], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x4975ab
mov dword [esp + 0x4c], 0xfc00
mov dword [esp + 0x50], 0xdc00
mov dword [esp + 0x54], SysStringLen
mov dword [esp + 0x48], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x499970
cmp dword [ebp + 0x9c], 2
jne 0x492292
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 0x4922b2
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 + 0x2c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x4922de.98
movzx eax, byte [edx + 0x499ac8]
jmp dword [eax*4 + 0x499980]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4bfe50]
je 0x497660
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x4922b2
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.004921b0
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x49241f
cmp eax, 0xfffffc20
jne 0x49238a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x49238a
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x492392
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x492392
test eax, eax
jne 0x4975b4
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [edx + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x492316
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x4923d0
cmp eax, 0x71
jne case.default.0x493bec
nop word [eax + eax]
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x71
je 0x4923d0
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x492405
cmp ebx, edi
jne 0x497323
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
jmp 0x4922b2
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x4923b9
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x492f78
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x49254b
movzx edi, word [esi + 6]
mov esi, dword [0x4e9e34]
add edi, edi
test esi, esi
je 0x49253e
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
mov dword [esp + 0xb8], 2
movzx eax, word [edi + eax + 8]
mov dword [esp + 0xbc], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [edx + 0x78]
mov dword [esp + 0xc4], ecx
mov eax, dword [edx + 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
mov ecx, dword [esp + 0x14]
sar eax, 1
mov dword [esp + 0xd0], eax
movzx eax, word [edi + ecx + 0xa]
mov dword [esp + 0xe0], eax
movzx eax, word [edi + ecx + 0xe]
mov ecx, dword [esp + 0x174]
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 [ecx + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [ecx + 0xac]
mov dword [esp + 0xdc], eax
mov eax, dword [ecx + 0xb4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xb8]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x493bec
js 0x4975b4
mov esi, dword [esp + 0x14]
add esi, 0xc
add esi, edi
mov dword [esp + 0x14], esi
movzx ecx, word [esi + 4]
lea edx, [esi + 4]
cmp ecx, 0x89
je 0x49276f
cmp ecx, 0x8a
je 0x49276f
cmp ecx, 0x87
je 0x4925e3
cmp ecx, 0x88
je 0x4925e3
cmp ecx, 0x8b
jne 0x49258e
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492908
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x9c], 1
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
cmp eax, 1
je 0x4973b8
test eax, eax
je 0x4925db
cmp eax, 0xfffffc20
jne 0x4975b4
lea eax, [esi + ebp*2]
jmp 0x492908
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x492607
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x492745
xor edi, edi
cmp ecx, 0x88
jne 0x49275b
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov eax, dword [ecx + 0x28]
mov ebp, eax
mov edx, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x3c], eax
test edx, edx
jle 0x492672
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
nop
movzx eax, word [ebp]
cmp eax, esi
je 0x492666
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 + 0x30], eax
mov ecx, eax
mov ebx, eax
cmp eax, edx
jl 0x492640
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
cmp ecx, edx
jge 0x49275b
cmp ebp, eax
mov esi, ebp
mov eax, dword [esp + 0x174]
jbe 0x4926d9
mov eax, dword [eax + 0x24]
lea ecx, [ebp + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.0049b540
test eax, eax
jne 0x492738
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4926c5
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492745
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x492687
xor edi, edi
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x49275b
lea ecx, [ebp + 2]
mov dword [esp + 0x30], ecx
nop word [eax + eax]
mov eax, dword [eax + 0x24]
lea ebp, [ebp + eax*2]
lea edx, [ebp + 2]
call fcn.0049b540
test eax, eax
jne 0x49275b
movzx eax, word [ebp]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492723
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492745
mov eax, dword [esp + 0x174]
inc esi
xor edi, edi
cmp esi, dword [eax + 0x20]
jge 0x49275b
mov ecx, dword [esp + 0x30]
jmp 0x4926f0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x4926d9
mov ecx, dword [esp + 0x14]
mov eax, 2
mov edi, 1
lea eax, [ecx + eax*2]
jmp 0x4928fe
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x4928fe
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x49278c
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x49290f
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x4928f1
cmp edx, dword [eax + 4]
je 0x4928f1
xor edi, edi
cmp ecx, 0x8a
jne 0x4928eb
mov ecx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov ebp, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], eax
mov esi, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
test esi, esi
jle 0x492816
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
movzx eax, word [ebp]
cmp eax, edx
je 0x492806
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 0x4927e0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ebp
cmp ecx, esi
jge 0x4928e7
cmp ebp, eax
jbe 0x492873
mov ebx, dword [esp + 0x2c]
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.0049b540
test eax, eax
jne 0x49285f
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x49285f
cmp esi, dword [ebp + 0x28]
ja 0x492832
mov ebp, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x4928d9
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x4928e7
mov ebx, dword [esp + 0x2c]
lea edi, [ebp + 2]
nop dword [eax + eax]
mov eax, dword [edx + 0x24]
mov ecx, edi
lea edx, [eax*2]
add edx, ebp
mov ebp, edx
add edx, 2
call fcn.0049b540
test eax, eax
jne 0x4928cd
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 0x4928cd
inc esi
cmp esi, dword [edx + 0x20]
jl 0x492890
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x4928e3
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x4928f6
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x4928fb
mov edi, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test edi, edi
jne 0x497402
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x497409
mov edi, dword [esp + 0x170]
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4922b2
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x492957
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x4922b2
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 0x492981
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4929b1
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4929b3
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.004921b0
add esp, 0x14
cmp eax, 1
je 0x492a1e
cmp eax, 0xfffffc19
je 0x492a1e
test eax, eax
je 0x4929f9
cmp eax, 0xfffffc20
jne 0x4975b4
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 0x4929b3
mov esi, dword [esp + 0x14]
jmp 0x492a32
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.0x493bec
test edi, edi
jne 0x49783d
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492a44
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x4922b2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492a8b
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492a8d
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.004921b0
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x493bec
cmp eax, 0xfffffc19
je case.default.0x493bec
cmp eax, 0xfffffc1e
je 0x492b10
cmp eax, 0xfffffc1d
je 0x492b10
cmp eax, 0xfffffc1a
je 0x492b10
test eax, eax
je 0x492af6
cmp eax, 0xfffffc20
jne 0x4975b4
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 0x492a91
mov esi, ecx
jmp 0x492b22
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492b14
test edi, edi
jne 0x49783d
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4922b2
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x492b72
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x493bec
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x492b6e
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x492b48
cmp ebx, dword [ebp + 0x88]
jae 0x492b80
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4922b2
movzx edi, word [esi + 2]
mov esi, dword [0x4e9e34]
test esi, esi
je 0x492c75
mov eax, dword [esp + 0x14]
mov dword [esp + 0x80], 2
movzx eax, word [eax + edi*2 + 6]
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
mov ecx, dword [esp + 0x14]
sar eax, 1
mov dword [esp + 0x98], eax
movzx eax, word [ecx + edi*2 + 8]
mov dword [esp + 0xa8], eax
movzx eax, word [ecx + edi*2 + 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
lea eax, [ecx + 4]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x80]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x493bec
js 0x4975b4
mov esi, dword [esp + 0x14]
lea esi, [esi + edi*2]
mov edi, dword [esp + 0x170]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x492ca1
xor ecx, ecx
jmp 0x492ca5
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x492cc5
cmp ecx, dword [eax + 4]
jne 0x492cbf
cmp ebx, dword [eax + 0x10]
je 0x4976bb
mov eax, dword [eax]
test eax, eax
jne 0x492cb1
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 0x492cfb
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x492d19
shl eax, 2
push eax
call fcn.0049f4bd
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x4976f0
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049cfe0
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
mov eax, 0x82
cmp bp, ax
jb 0x492d47
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 + 0x4bfe50]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004921b0
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.0049cfe0
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x492e1e
cmp esi, 0xfffffc19
je 0x492e1e
test esi, esi
je 0x492dcf
cmp esi, 0xfffffc20
jne 0x4976cb
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 0x492d33
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.0x493bec
push eax
call fcn.0049f4a2
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 0x492e36
push eax
call fcn.0049f4a2
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 + 0x1c], ebx
mov dword [esp + 0x16c], eax
jmp 0x4922ae
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4922de.113
mov dword [esp + 0x14], esi
jmp 0x4922b2
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
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 0x492eb0
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4922b2
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 0x492ee0
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.004921b0
add esp, 0x14
test eax, eax
je 0x4922b2
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 0x492f30
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4922b2
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 0x492f78
cmp edx, 0x85
jne 0x493135
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x49312f
mov ecx, dword [esi + 0xc]
xor edx, edx
mov ebp, dword [esp + 0x14]
sub ebp, dword [esi + 0x74]
sar ebp, 1
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x10]
sub eax, edi
mov dword [esp + 0x30], edx
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x28], eax
mov esi, dword [ecx + 0x94]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, edi
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x492ff8
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 + 0x4bfe50]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004921b0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x493074
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x1c], ebx
lea eax, [eax + ebp*2]
mov dword [esp + 0x14], eax
jmp 0x492fbe
cmp eax, 0xfffffc20
jne 0x4930ac
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x4930b0
cmp word [edx], 0x71
je 0x4930b8
cmp word [ecx], 0x71
je 0x4930b8
jmp 0x4930b0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x4975b4
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 0x492fc4
mov edx, dword [esp + 0x30]
mov ebp, ecx
test edx, edx
jne 0x493109
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov dword [eax + edi*8], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [eax + edi*8 + 4], ecx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, edi
mov dword [eax + ecx*4], esi
cmp dword [esp + 0x38], 0
jne 0x493118
test edx, edx
je case.default.0x493bec
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov esi, dword [esp + 0x14]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
cmp edx, 0x82
jb 0x493155
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 + 0x4bfe50]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004921b0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x4931cc
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 + 0x1c], ebx
lea eax, [eax + esi*2]
mov dword [esp + 0x14], eax
jmp 0x493143
cmp eax, 0xfffffc20
jne 0x493221
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x493225
cmp word [edx], 0x71
je 0x49322d
cmp word [ecx], 0x71
jne 0x493225
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x174]
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
jmp 0x493143
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x4975b4
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
je 0x493143
test edi, edi
jne 0x49325a
test ebp, ebp
je case.default.0x493bec
mov esi, dword [esp + 0x14]
mov ebp, ecx
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4922b2
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 0x49329c
cmp ecx, 0x7b
je 0x49329c
mov dword [esp + 0x30], 0
jmp 0x4932b5
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 + 0x30], eax
cmp ecx, 0x77
jb 0x4932c3
cmp ecx, 0x7a
jbe 0x49781d
cmp ecx, 0x7c
je 0x49781d
cmp ecx, 0x7f
je 0x4932f3
mov eax, 0x84
cmp cx, ax
je 0x4932f3
mov eax, 0x80
cmp cx, ax
je 0x4932f3
mov eax, 0x85
cmp cx, ax
jne 0x4933d0
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x493314
cmp dword [eax + 4], edi
je 0x497700
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x493361
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x493343
cmp ebx, dword [esp + 0x30]
jne 0x49745f
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4977d3
mov ebp, dword [esp + 0x174]
jmp 0x4922b2
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x493396
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x49338f
mov eax, ecx
nop dword [eax + eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x493380
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 0x49332d
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x49332d
mov edx, dword [esp + 0x174]
jmp 0x493331
cmp dword [ebp + 0x44], 0
je case.0x4922de.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x493bec
cmp ebx, dword [ebp + 0x78]
jne case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp dword [ebp + 0x44], 0
je 0x493414
cmp ebx, dword [ebp + 0x78]
je case.default.0x493bec
mov ecx, dword [ebp + 0x78]
jmp 0x49341f
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x493bec.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x493bec
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493465
cmp ebx, ecx
jbe 0x49344f
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b690
add esp, 0xc
test eax, eax
je 0x49344f
mov eax, 1
jmp 0x493451
xor eax, eax
test eax, eax
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x493bec
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493bec
cmp esi, 1
je 0x49349a
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493bec
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493554
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493514
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b5d0
add esp, 0xc
test eax, eax
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493bec
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493bec
cmp edx, 1
je case.0x493bec.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp dword [ebp + 0x48], 0
jne case.default.0x493bec
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493bec.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493bec.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp dword [ebp + 0x48], 0
jne case.default.0x493bec
cmp dword [ebp + 0x58], 0
je case.0x4922de.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x493bec
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493bec.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493bec.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493654
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x493610
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049b5d0
add esp, 0xc
test eax, eax
je case.default.0x493bec
jmp 0x49363f
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493bec
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493bec
cmp edx, 1
je 0x49363f
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493bec
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x493bec
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493bec.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493bec.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x78]
jne 0x4936ef
lea edi, [ebp + 0x88]
xor esi, esi
mov ecx, 0x54
mov eax, ebp
lea edx, [eax + ecx]
cmp ebx, dword [ebp + 0x7c]
jb 0x4937ae
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4936cc
cmp ebx, dword [edi]
jbe 0x4936cc
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
xor ecx, ecx
lea edx, [ecx + 1]
mov edi, dword [esp + 0x14]
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x14], edi
cmp eax, 5
jne 0x49385d
xor esi, edx
jmp 0x49385f
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49370b
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
lea edi, [ebp + 0x88]
jae 0x49371b
mov dword [edi], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493746
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 0x49378b
cmp ecx, 0x5f
je 0x4937a4
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x4937a4
cmp eax, 3
je 0x4937a4
jmp 0x493699
cmp ecx, 0x100
jae 0x493699
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x493699
mov esi, 1
jmp 0x49369b
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4937d9
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 0x493838
cmp ecx, 0x5f
jne 0x4937f3
mov ecx, 1
xor edx, edx
jmp 0x4936d1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x49382c
cmp eax, 3
jne 0x4936cc
mov ecx, 1
xor edx, edx
jmp 0x4936d1
cmp ecx, 0x100
jae 0x4936cc
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4936cc
mov ecx, 1
xor edx, edx
jmp 0x4936d1
xor esi, ecx
test esi, esi
jne case.default.0x493bec
mov edi, dword [esp + 0x170]
jmp 0x4922ae
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4938a9
cmp ebx, ecx
jae 0x49389d
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b5d0
add esp, 0xc
test eax, eax
je 0x49389d
mov eax, 1
jmp 0x49389f
xor eax, eax
test eax, eax
jne case.default.0x493bec
jmp case.0x4922de.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4922de.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4922de.13
cmp edx, 1
je case.default.0x493bec
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x493bec
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x49784d
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x493907
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493907
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493970
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 + 0x1c], ebx
cmp ecx, 0x100
jae case.0x493bec.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4939d6
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 + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x493bec
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a3c
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 + 0x1c], ebx
cmp ecx, 0x100
jae case.0x493bec.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493aa2
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 + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x493bec
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b08
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 + 0x1c], ebx
cmp ecx, 0x100
jae case.0x493bec.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b6e
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 + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x493bec
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493bd6
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 + 0x1c], ebx
cmp ecx, 0x85
ja 0x493c18
je case.0x493bec.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493bec
jmp dword [ecx*4 + 0x499b64]
cmp ebx, edx
jae case.0x493bec.10
cmp word [ebx], 0xa
jne case.0x493bec.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x4922b2
sub ecx, 0x2028
je case.0x493bec.11
sub ecx, 1
jne case.default.0x493bec
cmp dword [ebp + 0x68], 0
jne case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493c80
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 + 0x1c], ebx
cmp ecx, 0x2000
ja 0x493cde
je case.default.0x493bec
cmp ecx, 0xa0
ja 0x493cba
je case.default.0x493bec
cmp ecx, 9
je case.default.0x493bec
cmp ecx, 0x20
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ecx, 0x1680
je case.default.0x493bec
cmp ecx, 0x180e
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ecx, 0x3000
ja case.0x493d06.8203
je case.default.0x493bec
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x493d06.8203
movzx eax, byte [ecx + 0x499b7c]
jmp dword [eax*4 + 0x499b74]
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493d4e
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 + 0x1c], ebx
cmp ecx, 0x2000
ja 0x493d92
je case.0x493d06.8203
cmp ecx, 0xa0
ja 0x493d7b
je case.0x493d06.8203
cmp ecx, 9
je case.0x493d06.8203
cmp ecx, 0x20
jmp 0x4933ee
cmp ecx, 0x1680
je case.0x493d06.8203
cmp ecx, 0x180e
jmp 0x4933ee
cmp ecx, 0x3000
ja case.default.0x493bec
je case.0x493d06.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493bec
movzx eax, byte [ecx + 0x499be4]
jmp dword [eax*4 + 0x499bdc]
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493e02
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 + 0x1c], ebx
cmp ecx, 0x85
ja 0x493e23
je case.default.0x493bec
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x493d06.8203
jmp dword [ecx*4 + 0x499c44]
sub ecx, 0x2028
je case.default.0x493bec
sub ecx, 1
je case.default.0x493bec
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493e85
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 + 0x1c], ebx
cmp ecx, 0x85
ja 0x493ea6
je case.0x493d06.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493bec
jmp dword [ecx*4 + 0x499c54]
sub ecx, 0x2028
je case.0x493d06.8203
sub ecx, 1
jmp 0x4933ee
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493efb
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 + 0x1c], ebx
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x493f26
jmp dword [ecx*4 + 0x499c64]
cmp dword [esp + 0x20], 0xf
jmp 0x494076
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x494065
cmp al, 5
je 0x494065
cmp al, 8
je 0x494065
xor ecx, ecx
jmp 0x49406a
movzx ecx, byte [eax*8 + 0x4cbbb9]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4bfdd0]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x494076
movzx eax, byte [eax*8 + 0x4cbbb9]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x494071
movzx eax, byte [eax*8 + 0x4cbbb8]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x494071
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x494065
cmp eax, 3
je 0x494065
xor ecx, ecx
jmp 0x49406a
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x494065
cmp edx, 9
je 0x494065
cmp edx, 0xa
je 0x494065
cmp edx, 0xc
je 0x494065
cmp edx, 0xd
je 0x494065
xor ecx, ecx
jmp 0x49406a
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x494065
cmp edx, 9
je 0x494065
cmp edx, 0xa
je 0x494065
cmp edx, 0xb
jmp 0x49400a
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x494065
cmp eax, 3
je 0x494065
cmp edx, 0x5f
je 0x494065
xor ecx, ecx
jmp 0x49406a
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x493bec
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x4922b2
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x49784d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4940cb
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 + 0x1c], ebx
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je case.default.0x493bec
cmp ebx, esi
jae 0x49417e
mov dword [esp + 0x1c], ebx
nop dword [eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494145
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x49417a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x494110
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4922b2
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 + 0x3c], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], esi
cmp ecx, edi
jge 0x4941c4
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x4941c4
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x4941ce
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.0x4941ea
movzx eax, byte [edi + 0x499c90]
jmp dword [eax*4 + 0x499c88]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4bf648]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4bf640]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x494249
mov dword [esp + 0x24], SysStringLen
jmp 0x494249
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, 0x69
sete al
movzx esi, word [edi + 2]
mov dword [esp + 0x30], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, dword [esp + 0x54]
add edi, 6
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x170]
test ebp, ebp
je 0x4922a7
jns 0x494262
test esi, esi
je 0x4922a7
cmp esi, 1
jl 0x49429f
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00492000
add esp, 0xc
test eax, eax
js 0x497c89
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc edi
mov dword [esp + 0x1c], ebx
cmp edi, esi
jle 0x494270
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x4922a0
cmp dword [esp + 0x30], 0
je 0x497890
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493bec
push dword [esp + 0x3c]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.00492000
add esp, 0xc
test eax, eax
js 0x49787c
mov esi, dword [esp + 0x48]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x494300
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.00492000
add esp, 0xc
test eax, eax
js 0x49787c
mov edi, dword [esp + 0x170]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
mov ebp, esi
jmp 0x4922ae
movzx eax, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x44], ebp
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x4943d1
movzx eax, byte [ecx + 0x499ca0]
jmp dword [eax*4 + 0x499c98]
movsx eax, byte [ecx + 0x4bf640]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf648]
and edx, 1
add esi, 2
mov dword [esp + 0x18], edx
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
jmp 0x49441f
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x18], 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 + 0x24], eax
mov dword [esp + 0x28], edi
cmp edi, esi
jl 0x4944ce
jmp 0x49444d
mov edi, 1
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], edi
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497e6e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494495
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
cmp edx, 0xff
jbe 0x4944aa
cmp dword [esp + 0x20], 0x6a
je case.default.0x493bec
jmp 0x4944c9
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x493bec
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x494454
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922a0
cmp dword [esp + 0x18], 0
je 0x4979b6
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493bec
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497e6e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49456c
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 0x497954
cmp dword [esp + 0x20], 0x6a
je case.default.0x493bec
jmp 0x497973
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
mov dword [esp + 0x44], 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.0x4945b2
movzx eax, byte [ecx + 0x499cb0]
jmp dword [eax*4 + 0x499ca8]
movsx eax, byte [ecx + 0x4bf640]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf648]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
test eax, eax
jne 0x494612
mov dword [esp + 0x24], SysStringLen
jmp 0x494612
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x18], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
mov esi, 1
cmp edi, esi
jl 0x494691
jmp 0x494630
mov edi, 1
mov dword [esp + 0x24], 1
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497e6e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494678
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 + 0x1c], ebx
push 1
mov edx, ebp
call fcn.0049b780
add esp, 4
test eax, eax
je case.default.0x493bec
inc esi
cmp esi, edi
jle 0x494630
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922a0
cmp dword [esp + 0x18], 0
je 0x497b30
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493bec
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497e6e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49472f
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.0049b780
add esp, 4
test eax, eax
je case.default.0x493bec
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.004921b0
add esp, 0x14
test eax, eax
je 0x4946e5
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 0x497c6e
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 + 0x1c], ebx
cmp cx, ax
jne case.default.0x493bec
test edx, edx
jg 0x4947c0
jmp 0x4922ae
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
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 0x494830
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x494835
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x494875
mov edi, 0xff
mov ecx, eax
cmp ax, di
ja 0x494853
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.0x493bec
mov edi, dword [esp + 0x170]
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x4922b2
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x4948aa
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
add ebx, 2
or esi, eax
mov dword [esp + 0x1c], ebx
add esi, 0x10000
lea eax, [ecx + edi]
mov edi, dword [esp + 0x170]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x4922ae
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov eax, dword [eax*8 + 0x4cbbbc]
add eax, edx
cmp esi, eax
jne case.default.0x493bec
jmp 0x4922ae
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x4949ae
mov dword [esp + 0x2c], 1
movzx ebp, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
cmp ecx, 0x28
je 0x494926
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x49492e
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x4949b6
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, SysReAllocString
add esi, 2
jmp 0x4949ae
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, SysReAllocString
add esi, 2
jmp 0x4949ae
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x4949ae
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 + 0x18], ecx
and dword [esp + 0x18], 1
movsx ebp, byte [eax + 0x4bf640]
movsx edi, byte [eax + 0x4bf648]
test ebp, ebp
mov eax, SysReAllocString
cmove ebp, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
mov ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], esi
movzx esi, word [esi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494d9c
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 + 0x3c], esi
cmp dword [esp + 0x20], 0x2e
jb 0x494a43
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov ecx, dword [eax*8 + 0x4cbbbc]
add ecx, edx
cmp ecx, edx
je 0x494a43
lea edx, [esp + 0x74]
call fcn.0049b570
mov dword [esp + 0x38], eax
jmp 0x494a4b
mov dword [esp + 0x38], 0
mov ebp, 1
cmp edi, ebp
jl 0x494b82
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
lea eax, [ecx - 4]
mov dword [esp + 0x44], eax
nop dword [eax]
cmp ebx, eax
ja 0x494ae4
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494aa6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494aab
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494a95
cmp esi, 0xfffffffc
je 0x494ad8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494ae0
cmp esi, 0xfffffffd
je 0x494ad8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494ae0
cmp esi, 0xfffffffe
je 0x494ad8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494ae0
cmp esi, 0xffffffff
je 0x494ad8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494ae0
add ebx, 4
jmp 0x494b69
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x497c89
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x497c89
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494b21
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494b26
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494b10
cmp esi, 0xfffffffc
je 0x494b63
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497c89
cmp esi, 0xfffffffd
je 0x494b63
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497c89
cmp esi, 0xfffffffe
je 0x494b63
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497c89
cmp esi, 0xffffffff
je 0x494b63
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497c89
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jle 0x494a80
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922a0
cmp dword [esp + 0x18], 0
jne 0x497cbf
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x494cbe
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], eax
lea ebp, [eax - 4]
cmp ebx, ebp
ja 0x494c1f
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494be1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494be6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494bd0
cmp esi, 0xfffffffc
je 0x494c13
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494c1b
cmp esi, 0xfffffffd
je 0x494c13
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494c1b
cmp esi, 0xfffffffe
je 0x494c13
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494c1b
cmp esi, 0xffffffff
je 0x494c13
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494c1b
add ebx, 4
jmp 0x494c9f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x494d65
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x494d65
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494c57
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494c5c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494c46
cmp esi, 0xfffffffc
je 0x494c99
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494d65
cmp esi, 0xfffffffd
je 0x494c99
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494d65
cmp esi, 0xfffffffe
je 0x494c99
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494d65
cmp esi, 0xffffffff
je 0x494c99
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494d65
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
inc edi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edi
cmp edi, dword [esp + 0x24]
jl 0x494bb8
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x4922a0
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
cmp ebx, ebp
je case.default.0x493bec
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x494d2b
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.004921b0
add esp, 0x14
test eax, eax
je 0x494d07
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 0x494d93
cmp ebx, dword [esi + 0x7c]
jb 0x494d93
cmp ebx, dword [esi + 0x88]
jbe 0x494d93
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499448
mov ebp, dword [esp + 0x18]
jmp 0x494cc5
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x494ebc
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x494de1
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov ebp, dword [eax*8 + 0x4cbbbc]
add ebp, esi
jmp 0x494de8
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x494e2b
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop dword [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x497e67
movzx eax, word [ebx]
cmp esi, eax
je 0x494e1b
cmp ebp, eax
jne case.default.0x493bec
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x494e00
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922a0
cmp dword [esp + 0x18], 0
jne 0x497ed7
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x494e73
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x494e91
movzx eax, word [ebx]
cmp esi, eax
je 0x494e65
cmp ebp, eax
jne 0x494e73
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x494e56
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497e81
mov edi, dword [esp + 0x170]
jmp 0x4922ae
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494e7a
cmp ebx, dword [ebp + 0x88]
jbe 0x494e7a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x494e7a
cmp edi, 1
jl 0x494ef3
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x497e67
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x493bec
inc ecx
cmp ecx, edi
jle 0x494ed0
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x4922a0
cmp dword [esp + 0x18], 0
jne 0x497fd7
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x494f37
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x494f55
movzx eax, word [ebx]
cmp esi, eax
jne 0x494f37
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x494f20
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497f85
mov edi, dword [esp + 0x170]
jmp 0x4922ae
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494f3e
cmp ebx, dword [ebp + 0x88]
jbe 0x494f3e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x494f3e
cmp ebx, dword [ebp + 0x7c]
jae 0x49784d
lea ecx, [esi + 2]
movzx esi, word [ebx]
mov eax, esi
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x494fc4
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 + 0x1c], ebx
cmp dword [esp + 0x20], 0x20
lea eax, [ecx + 2]
movzx edx, word [ecx]
mov dword [esp + 0x14], eax
jne 0x49501f
cmp edx, 0x7f
jbe 0x495003
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov eax, dword [eax*8 + 0x4cbbbc]
add eax, edx
jmp 0x49500a
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x493bec
cmp eax, esi
je case.default.0x493bec
jmp 0x4922ae
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x493bec
jmp 0x4922ae
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x4950fd
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x49505a
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x495062
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x4950fd
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x4950f5
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x4950f5
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x4950fd
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x4950fd
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x18], ecx
and dword [esp + 0x18], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4bf648]
movsx eax, byte [eax + 0x4bf640]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4950fd
mov dword [esp + 0x28], SysStringLen
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 0x4952a1
cmp ebp, 0x7f
jbe 0x495150
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4cbbbc]
add ebp, dword [esp + 0x24]
jmp 0x49515e
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x4951cb
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4951b0
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je case.default.0x493bec
cmp ebp, ecx
je case.default.0x493bec
inc edx
cmp edx, edi
jle 0x495170
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49240c
cmp dword [esp + 0x18], 0
jne 0x49812f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495254
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x495276
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495233
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 0x49524d
cmp dword [esp + 0x30], ecx
je 0x49524d
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x4951f6
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49809f
mov ebp, dword [esp + 0x174]
jmp 0x4922b2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495254
cmp ebx, dword [ecx + 0x88]
jbe 0x495254
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x495254
cmp edi, 1
jl 0x495305
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4952f4
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x493bec
inc edx
cmp edx, edi
jle 0x4952b4
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49240c
cmp dword [esp + 0x18], 0
jne 0x49829f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495388
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4953aa
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49536d
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 0x495381
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495330
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49820f
mov ebp, dword [esp + 0x174]
jmp 0x4922b2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495388
cmp ebx, dword [ecx + 0x88]
jbe 0x495388
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x495388
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov ebp, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], 1
jmp 0x4954ae
movzx eax, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], eax
xor eax, eax
cmp ecx, 0x5c
mov dword [esp + 0x24], ebp
lea ecx, [esi + 4]
sete al
mov dword [esp + 0x18], eax
jmp 0x4954ae
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4954a6
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4954a6
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x4954ae
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
jmp 0x4954ae
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x18], edx
movsx ebp, byte [eax + 0x4bf648]
movsx eax, byte [eax + 0x4bf640]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4954ae
mov dword [esp + 0x20], SysStringLen
movzx eax, word [ecx]
lea esi, [ecx + 2]
mov edx, eax
mov dword [esp + 0x14], esi
mov edi, eax
mov dword [esp + 0x28], edi
cmp edx, 0x10
je 0x4954d3
cmp edx, 0xf
je 0x4954d3
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x4954f9
movzx ecx, word [esi]
xor eax, eax
cmp edx, 0xf
mov dword [esp + 0x30], ecx
sete al
mov dword [esp + 0x34], eax
lea eax, [esi + 2]
movzx esi, word [eax]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x40], esi
test ebp, ebp
jle 0x496242
test eax, eax
js 0x495a71
cmp eax, 8
ja case.default.0x493f26
jmp dword [eax*4 + 0x499cb8]
cmp dword [esp + 0x34], 0
jne case.default.0x493bec
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x497e67
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, ebp
jle 0x495533
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4955b0
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x4955e3
cmp al, 5
je 0x4955e3
cmp al, 8
je 0x4955e3
xor eax, eax
jmp 0x4955e8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x495578
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495648
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edi, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], edi
mov edi, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x495610
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4956df
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x4956a7
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49576b
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb8]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x495733
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4957f8
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x495831
cmp eax, 3
je 0x495831
xor eax, eax
jmp 0x495836
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x4957c0
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497e67
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495899
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x4958e1
cmp edx, 9
je 0x4958e1
cmp edx, 0xa
je 0x4958e1
cmp edx, 0xc
je 0x4958e1
cmp edx, 0xd
je 0x4958e1
xor eax, eax
jmp 0x4958e6
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
inc esi
cmp esi, ebp
jle 0x495861
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497e67
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49594d
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x49599a
cmp edx, 9
je 0x49599a
cmp edx, 0xa
je 0x49599a
cmp edx, 0xb
je 0x49599a
cmp edx, 0xc
je 0x49599a
cmp edx, 0xd
je 0x49599a
xor eax, eax
jmp 0x49599f
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
inc esi
cmp esi, ebp
jle 0x495915
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x497e67
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495a10
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x495a50
cmp eax, 3
je 0x495a50
cmp edx, 0x5f
je 0x495a50
xor eax, eax
jmp 0x495a55
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
inc esi
cmp esi, ebp
jle 0x4959d0
mov edi, dword [esp + 0x28]
jmp 0x496242
cmp edx, 0x16
jne 0x495b8f
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x498375
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ac1
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je case.default.0x493bec
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x495b6a
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495b35
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x495b6a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x495b00
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x495a87
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496249
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493f26
jmp dword [eax*4 + 0x499cdc]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x497e67
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x495c1b
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b5d0
add esp, 0xc
test eax, eax
jne case.default.0x493bec
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x495c0d
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x495c0d
add ebx, 2
inc esi
cmp esi, ebp
jle 0x495bb0
mov dword [esp + 0x1c], ebx
jmp 0x496249
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x495be6
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x495bed
cmp edx, 1
je case.default.0x493bec
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x493bec
jmp 0x495bed
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
nop
cmp ebx, edx
jae 0x498375
add ebx, 2
cmp ebx, edx
jae 0x495c81
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x495c81
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x495c60
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x496249
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x493bec
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497e6e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495cfe
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 0x495d5a
je case.0x495d1c.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493bec
jmp dword [ecx*4 + 0x499d1c]
mov ebx, edx
cmp edx, edi
jae 0x495d3d
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x495d44
lea ebx, [edx + 2]
jmp 0x495d44
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x495cc6
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496249
sub ecx, 0x2028
je case.0x495d1c.11
sub ecx, 1
jne case.default.0x493bec
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x493bec
jmp 0x495d44
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495dc8
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 0x495e22
je case.default.0x493bec
cmp ecx, 0xa0
ja 0x495e08
je case.default.0x493bec
cmp ecx, 9
je case.default.0x493bec
cmp ecx, 0x20
je case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x495d90
mov dword [esp + 0x1c], ebx
jmp 0x496242
cmp ecx, 0x1680
je case.default.0x493bec
cmp ecx, 0x180e
je case.default.0x493bec
jmp case.0x495e42.8203
cmp ecx, 0x3000
ja case.0x495e42.8203
je case.default.0x493bec
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x495e42.8203
movzx eax, byte [ecx + 0x499d34]
jmp dword [eax*4 + 0x499d2c]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e90
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 0x495eda
je case.0x495efe.8193
cmp ecx, 0xa0
ja 0x495ec4
je case.0x495efe.8193
cmp ecx, 9
je case.0x495efe.8193
cmp ecx, 0x20
jne case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x495e58
mov dword [esp + 0x1c], ebx
jmp 0x496242
cmp ecx, 0x1680
je case.0x495efe.8193
cmp ecx, 0x180e
jne case.default.0x493bec
jmp case.0x495efe.8193
cmp ecx, 0x3000
ja case.default.0x493bec
je case.0x495efe.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493bec
movzx eax, byte [ecx + 0x499d9c]
jmp dword [eax*4 + 0x499d94]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f4c
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 0x495f69
je case.default.0x493bec
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x495f62
jmp dword [ecx*4 + 0x499dfc]
sub ecx, 0x2028
je case.default.0x493bec
sub ecx, 1
je case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x495f14
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495fd8
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 0x495ff5
je case.0x495fee.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493bec
jmp dword [ecx*4 + 0x499e0c]
sub ecx, 0x2028
je case.0x495fee.10
sub ecx, 1
jne case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x495fa0
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49605b
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 0x496077
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493bec
inc edx
cmp edx, ebp
jle 0x496023
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493bec
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493bec
inc edx
add ebx, 2
cmp edx, ebp
jle 0x496094
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49610e
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493bec
add ebx, 2
cmp ebx, esi
jae 0x49612d
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49612d
add ebx, 2
inc edx
cmp edx, ebp
jle 0x4960e3
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497e67
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493bec
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493bec
inc edx
add ebx, 2
cmp edx, ebp
jle 0x496150
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x497e67
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4961cb
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493bec
add ebx, 2
cmp ebx, esi
jae 0x4961ea
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4961ea
add ebx, 2
inc edx
cmp edx, ebp
jle 0x4961a0
mov dword [esp + 0x1c], ebx
jmp 0x496242
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497e67
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493bec
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493bec
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x496207
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4922a0
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x4985db
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x49690c
cmp eax, 8
ja case.default.0x493f26
jmp dword [eax*4 + 0x499e1c]
cmp ebp, edx
jge 0x4968ee
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, edx
jae 0x4962cc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x4968ee
xor eax, eax
cmp cx, word [esp + 0x48]
sete al
inc ebp
lea ebx, [ebx + eax*2]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496291
jmp 0x4968ee
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4968f5
cmp ebx, dword [ebp + 0x88]
jbe 0x4968f5
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x4968f5
cmp ebp, edx
jge 0x4968ee
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x4963a5
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49634e
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x496381
cmp al, 5
je 0x496381
cmp al, 8
je 0x496381
xor eax, eax
jmp 0x496386
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496311
jmp 0x4968ea
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4963ca
cmp ebx, dword [ebp + 0x88]
jbe 0x4963ca
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x499448
mov esi, dword [esp + 0x18]
jmp 0x4968f5
cmp ebp, edx
jge 0x4968ee
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x40]
cmp ebx, esi
jae 0x496470
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49641f
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], edi
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4963e2
jmp 0x4968ea
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4963ca
cmp ebx, dword [ebp + 0x88]
jbe 0x4963ca
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
mov esi, dword [esp + 0x18]
jmp 0x4968f5
cmp ebp, edx
jge 0x4968ee
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
cmp ebx, esi
jae 0x496470
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4964f9
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4964c0
jmp 0x4968ea
cmp ebp, edx
jge 0x4968ee
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x496470
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49658d
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb8]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496550
jmp 0x4968ea
cmp ebp, edx
jge 0x4968ee
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4963a5
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49662d
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x496666
cmp eax, 3
je 0x496666
xor eax, eax
jmp 0x49666b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4965f0
jmp 0x4968ea
cmp ebp, edx
jge 0x4968ee
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49674b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4966dd
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x496725
cmp edx, 9
je 0x496725
cmp edx, 0xa
je 0x496725
cmp edx, 0xc
je 0x496725
cmp edx, 0xd
je 0x496725
xor eax, eax
jmp 0x49672a
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4966a0
jmp 0x4968ea
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4963ca
cmp ebx, dword [ebp + 0x88]
jbe 0x4963ca
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x499448
mov esi, dword [esp + 0x18]
jmp 0x4968f5
cmp ebp, edx
jge 0x4968ee
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x49674b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4967c9
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x496816
cmp edx, 9
je 0x496816
cmp edx, 0xa
je 0x496816
cmp edx, 0xb
je 0x496816
cmp edx, 0xc
je 0x496816
cmp edx, 0xd
je 0x496816
xor eax, eax
jmp 0x49681b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496790
jmp 0x4968ea
cmp ebp, edx
jge 0x4968ee
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49674b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49688d
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x4968cd
cmp eax, 3
je 0x4968cd
cmp edx, 0x5f
je 0x4968cd
xor eax, eax
jmp 0x4968d2
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4968ea
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496850
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49839b
mov edi, dword [esp + 0x170]
jmp 0x4922ae
cmp edi, 0x16
jne 0x496a7a
cmp ebp, edx
jge 0x496a2d
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x496a4b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49695d
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je 0x496a29
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x496a1e
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4969e5
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x496a1a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4969b0
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496920
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x498431
mov edi, dword [esp + 0x170]
jmp 0x4922ae
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496a74
cmp ebx, dword [ebp + 0x88]
jbe 0x496a74
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
mov esi, dword [esp + 0x18]
jmp 0x496a34
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493f26
jmp dword [eax*4 + 0x499e40]
cmp edx, 0x7fffffff
jge 0x496b80
cmp ebp, edx
jge 0x496de2
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496b46
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496b12
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b5d0
add esp, 0xc
test eax, eax
jne 0x496de2
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496b06
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496b06
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496aa1
jmp 0x496de2
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496ad7
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496ade
cmp edx, 1
je 0x496de2
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496de2
jmp 0x496ade
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x496de2
cmp ebx, dword [ecx + 0x88]
jbe 0x496de2
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499448
mov ebp, ecx
jmp 0x496de9
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496b46
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496bed
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b5d0
add esp, 0xc
test eax, eax
jne 0x496de2
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496be1
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496be1
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496b80
jmp 0x496de2
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496bb2
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496bb9
cmp edx, 1
je 0x496de2
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496de2
jmp 0x496bb9
cmp edx, 0x7fffffff
jge 0x496ca1
cmp ebp, edx
jge 0x496de2
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496c6b
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x496c61
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x496c61
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x496c38
jmp 0x496de2
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496de9
cmp ebx, dword [ebp + 0x88]
jbe 0x496de9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x496de9
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496de9
cmp ebx, dword [ebp + 0x88]
jbe 0x496de9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x496de9
sub edx, ebp
mov ebp, dword [esp + 0x174]
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x496d10
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496de9
cmp ecx, dword [ebp + 0x88]
jmp 0x496cc3
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x496de9
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496e00
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496d63
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x496d68
mov eax, 2
cmp ecx, 0xd
jne 0x496d8d
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x496dde
cmp word [ebx], 0xa
jne 0x496dd3
lea ebx, [edx + 2]
jmp 0x496dcf
cmp ecx, 0xa
je 0x496dcd
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x497318
cmp ecx, 0xb
je 0x496dcd
cmp ecx, 0xc
je 0x496dcd
cmp ecx, 0x85
je 0x496dcd
cmp ecx, 0x2028
je 0x496dcd
cmp ecx, 0x2029
jne 0x497318
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496d27
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49852b
mov edi, dword [esp + 0x170]
jmp 0x4922ae
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e29
cmp ebx, dword [ebp + 0x88]
jbe 0x496e29
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
mov esi, dword [esp + 0x18]
jmp 0x496de9
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496f1a
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496e7d
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 0x496ef0
je case.0x496f0c.8193
cmp ecx, 0xa0
ja 0x496edc
je case.0x496f0c.8193
cmp ecx, 9
je case.0x496f0c.8193
cmp ecx, 0x20
je case.0x496f0c.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496e40
jmp 0x496dde
cmp ecx, 0x1680
je case.0x496f0c.8193
cmp ecx, 0x180e
jmp 0x496ead
cmp ecx, 0x3000
ja case.0x496f0c.8203
je case.0x496f0c.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x496f0c.8203
movzx eax, byte [ecx + 0x499e88]
jmp dword [eax*4 + 0x499e80]
mov ecx, 1
jmp 0x496eb5
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e29
cmp ebx, dword [ebp + 0x88]
jbe 0x496e29
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x499448
mov esi, dword [esp + 0x18]
jmp 0x496de9
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496f1a
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496f99
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 0x496fb2
je case.0x496fab.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x496fab
jmp dword [ecx*4 + 0x499ee8]
sub ecx, 0x2028
je case.0x496fab.10
sub ecx, 1
je case.0x496fab.10
xor ecx, ecx
jmp 0x496fc8
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496f60
jmp 0x496dde
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x496e00
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49703d
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 0x497059
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497000
jmp 0x496dde
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496e00
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4970b4
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 0x496dde
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497077
jmp 0x496dde
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496e00
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49712f
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 0x49714b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4970f2
jmp 0x496dde
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x496e00
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4971ad
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 0x496dde
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497170
jmp 0x496dde
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x496e00
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49722d
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 0x497249
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4971f0
jmp 0x496dde
cmp ebp, edx
jge 0x496de2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4972d7
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4972a4
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 0x496dde
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x496dde
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497267
jmp 0x496dde
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e29
cmp ebx, dword [ebp + 0x88]
jbe 0x496e29
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x496e29
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x496de9
cmp ecx, 0x74
mov ecx, ebx
jne 0x49736e
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49759b
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x49759b
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
movzx ecx, word [esi + 6]
mov eax, dword [ebp + 0x90]
cmp eax, edx
cmovg edx, eax
add ecx, 2
cmp word [esi + ecx*2], 0x71
mov dword [esp + 0x170], edx
lea ecx, [esi + ecx*2]
jne 0x497410
mov edx, ecx
nop dword [eax + eax]
movzx eax, word [ecx + 2]
cmp word [edx + eax*2], 0x71
lea ecx, [edx + eax*2]
mov edx, ecx
je 0x4973f0
jmp 0x497409
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jne 0x49759f
mov dword [ebp + 0x9c], 2
mov ecx, ebx
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.004921b0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x4977b7
cmp eax, 0x74
jne 0x4974c8
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x497764
mov ecx, 0x82
cmp ax, cx
jae 0x497723
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49759b
mov eax, 0x82
cmp word [ebp], ax
jb 0x4974dd
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.004921b0
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x497518
cmp dword [ecx + 0xb8], ebp
je 0x497520
test eax, eax
jne 0x4975b4
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4977a2
mov ebp, dword [esp + 0x174]
jmp 0x49759f
movzx edx, word [esi + 4]
mov dword [esp + 0x44], edx
lea eax, [edx + edx]
cmp eax, dword [ebp + 0x14]
jl 0x499458
mov edx, dword [esp + 0x20]
nop word [eax + eax]
cmp edx, 0x82
jae 0x4975bf
cmp edx, 0x7b
je 0x4975bf
cmp dword [ebp + 0x6c], 0
jne 0x4975c9
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x4975c9
movzx eax, cx
movzx eax, byte [eax + 0x4bfe50]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x492251
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 esi, dword [ebp + 0xb0]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edi
mov edi, dword [esp + 0x24]
push dword [esp + 0x17c]
movzx eax, word [edi]
movzx eax, byte [eax + 0x4bfe50]
lea edx, [edi + eax*2]
call fcn.004921b0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x49762a
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
mov eax, edx
cmp dword [ebp + 0x80], ecx
jae 0x49762a
cmp word [edi], 0x71
je 0x497632
cmp word [ecx], 0x71
je 0x497632
test eax, eax
jne 0x499586
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.0x493bec
mov edi, dword [esp + 0x170]
mov ecx, 0x71
jmp 0x497552
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.004921b0
add esp, 0x14
test eax, eax
je 0x4976a2
cmp eax, 0xfffffc1d
je 0x4976a2
cmp eax, 0xfffffc20
jne 0x4975b4
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 0x4976e3
push eax
call fcn.0049f4a2
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.004921b0
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
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x497800
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
jmp 0x49777d
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
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.0x493bec
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x493bec
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499448
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.0x493bec
cmp ebx, dword [esi + 0x7c]
jb case.default.0x493bec
jmp 0x498383
mov edi, ebx
cmp esi, eax
jge 0x497901
nop word [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00492000
add esp, 0xc
test eax, eax
js 0x4978cb
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x24]
jl 0x4978a0
jmp 0x4978f9
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4978f9
cmp ebx, dword [ecx + 0x7c]
jb 0x4978f9
cmp ebx, dword [ecx + 0x88]
jbe 0x4978f9
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499448
cmp ebx, edi
jb case.default.0x493bec
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x497901
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.0x493bec
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.004921b0
add esp, 0x14
test eax, eax
je 0x494522
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497a24
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
nop
cmp ebx, edi
jae 0x497afa
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497a0d
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 0x497ac1
cmp dword [esp + 0x20], 0x6a
jne 0x497ae1
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493bec
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497a87
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.004921b0
add esp, 0x14
test eax, eax
je 0x497a62
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 + 0x44]
test byte [edx + ecx], al
je 0x497a24
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x28], eax
cmp eax, ecx
jl 0x4979d0
jmp 0x497a24
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497a2b
cmp ebx, dword [esi + 0x88]
jbe 0x497a2b
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x497a2b
mov ebp, ebx
cmp edi, eax
jge 0x497ba1
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x497c3f
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497b85
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 + 0x44]
push 1
call fcn.0049b780
add esp, 4
test eax, eax
je 0x497ba1
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x497b40
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493bec
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497c05
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.004921b0
add esp, 0x14
test eax, eax
je 0x497be0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497ba8
cmp ebx, dword [esi + 0x88]
jbe 0x497ba8
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499448
jmp 0x497ba8
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x493bec
cmp ebx, ecx
jb case.default.0x493bec
jmp 0x497857
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493bec
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x493bec
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x493bec
mov dword [ecx + 0x64], 1
jmp 0x497866
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493bec
mov ebp, dword [ebp + 0x7c]
lea eax, [ebp - 4]
cmp ebx, eax
ja 0x497d7b
mov eax, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [esp + 0x30]
lea esi, [eax + eax]
sub esi, 4
jb 0x497d41
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497d46
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497d30
cmp esi, 0xfffffffc
je 0x497d73
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497d7b
cmp esi, 0xfffffffd
je 0x497d73
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497d7b
cmp esi, 0xfffffffe
je 0x497d73
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497d7b
cmp esi, 0xffffffff
je 0x497d73
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497d7b
add ebx, 4
jmp 0x497dfd
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x497e4b
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x497e4b
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x497db5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497dba
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497da4
cmp esi, 0xfffffffc
je 0x497df7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497e4b
cmp esi, 0xfffffffd
je 0x497df7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497e4b
cmp esi, 0xfffffffe
je 0x497df7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497e4b
cmp esi, 0xffffffff
je 0x497df7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497e4b
add ebx, edi
mov edi, dword [esp + 0x28]
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 + 0x30], edi
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x497d00
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.0x493bec
cmp ebx, ebp
jmp 0x497ca1
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493bec
jmp 0x497ca7
cmp ebx, edi
jb case.default.0x493bec
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.004921b0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4975b4
cmp ebx, edi
jae 0x497e90
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
cmp edi, dword [esp + 0x24]
jge case.default.0x493bec
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497e6e
movzx eax, word [ebx]
cmp esi, eax
je 0x497f3b
cmp ebp, eax
jne case.default.0x493bec
mov eax, dword [esp + 0x28]
add ebx, 2
mov edx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x28], 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.004921b0
add esp, 0x14
test eax, eax
je 0x497f12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ebx, edi
jb case.default.0x493bec
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.004921b0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4975b4
cmp ebx, edi
jae 0x497f90
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov ecx, edi
cmp edi, ebp
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x493bec
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.004921b0
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x498012
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x493bec
cmp ebx, dword [edx + 0x88]
jbe case.default.0x493bec
mov dword [edx + 0x64], 1
jmp 0x497866
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493bec
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4980f5
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.004921b0
add esp, 0x14
test eax, eax
je 0x4980d0
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4981ba
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je case.default.0x493bec
cmp ebp, ecx
je case.default.0x493bec
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.004921b0
add esp, 0x14
test eax, eax
je 0x498170
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493bec
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498265
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.004921b0
add esp, 0x14
test eax, eax
je 0x498240
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49832a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x493bec
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.004921b0
add esp, 0x14
test eax, eax
je 0x4982e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x493bec
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493bec
mov dword [esi + 0x64], 1
jmp 0x497866
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 ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493bec
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4983f7
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x4983d2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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 ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493bec
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x49848f
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4984ba
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x4984ed
sub ebx, 2
jmp 0x498475
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x498468
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 ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x493bec
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x498583
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x49859f
cmp ecx, esi
jbe 0x49859f
cmp word [ecx], 0xa
jne 0x49859f
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
cmove ebx, 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.004921b0
add esp, 0x14
test eax, eax
je 0x498560
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x498f35
cmp eax, 8
ja case.default.0x493f26
jmp dword [eax*4 + 0x499ef8]
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, ebp
nop dword [eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498661
lea ebx, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x498630
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49872c
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x49875f
cmp al, 5
je 0x49875f
cmp al, 8
je 0x49875f
xor eax, eax
jmp 0x498764
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x4986e2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49883a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov esi, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], esi
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x4987f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49893c
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x4988f2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498a3a
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb8]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x4989f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498079
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498b3a
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x498b73
cmp eax, 3
je 0x498b73
xor eax, eax
jmp 0x498b78
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x498af0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
cmp ebx, dword [edi + 0x7c]
jae 0x498cde
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c44
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x498c8c
cmp edx, 9
je 0x498c8c
cmp edx, 0xa
je 0x498c8c
cmp edx, 0xc
je 0x498c8c
cmp edx, 0xd
je 0x498c8c
xor eax, eax
jmp 0x498c91
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x498c01
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x493bec
cmp ebx, dword [edi + 0x88]
jbe case.default.0x493bec
mov dword [edi + 0x64], 1
jmp 0x497866
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
cmp ebx, dword [edi + 0x7c]
jae 0x498cde
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498d81
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x498dce
cmp edx, 9
je 0x498dce
cmp edx, 0xa
je 0x498dce
cmp edx, 0xb
je 0x498dce
cmp edx, 0xc
je 0x498dce
cmp edx, 0xd
je 0x498dce
xor eax, eax
jmp 0x498dd3
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x498d42
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
jne 0x4975b4
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
cmp ebx, dword [edi + 0x7c]
jae 0x498cde
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498ea3
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x498ee3
cmp eax, 3
je 0x498ee3
cmp edx, 0x5f
je 0x498ee3
xor eax, eax
jmp 0x498ee8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x498e60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
cmp edi, 0x16
jne 0x4990ae
test eax, eax
jne 0x4975b4
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x498cde
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498fc7
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je case.default.0x493bec
cmp ebx, esi
jae 0x49906b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499036
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x49906b
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x499001
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x498f80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4975b4
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493bec
mov esi, dword [esp + 0x174]
mov ecx, dword [esi + 0x7c]
cmp ebx, ecx
jae 0x49941e
cmp edi, 0xc
jne 0x499132
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
test edx, edx
je 0x499107
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b5d0
add esp, 0xc
test eax, eax
jne case.default.0x493bec
jmp 0x499132
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x499132
mov ax, word [ebx]
cmp ax, word [esi + 0x2c]
jne 0x499132
cmp edx, 1
je case.default.0x493bec
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x2e]
je case.default.0x493bec
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499162
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493f26
jmp dword [eax*4 + 0x499f1c]
cmp ecx, 0x85
ja 0x4991ad
je case.0x49918b.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493bec
jmp dword [ecx*4 + 0x499f5c]
cmp ebx, dword [esi + 0x7c]
jae case.0x49916e.12
cmp word [ebx], 0xa
jne case.0x49916e.12
add ebx, 2
jmp case.0x49916e.12
sub ecx, 0x2028
je case.0x49918b.11
sub ecx, 1
jne case.default.0x493bec
cmp dword [esi + 0x68], 0
jne case.default.0x493bec
jmp case.0x49916e.12
cmp ecx, 0x2000
ja 0x499211
je case.default.0x493bec
cmp ecx, 0xa0
ja 0x4991fa
je case.default.0x493bec
cmp ecx, 9
je case.default.0x493bec
cmp ecx, 0x20
jmp 0x4993bf
cmp ecx, 0x1680
je case.default.0x493bec
cmp ecx, 0x180e
jmp 0x4993bf
cmp ecx, 0x3000
ja case.0x49916e.12
je case.default.0x493bec
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49916e.12
movzx eax, byte [ecx + 0x499f74]
jmp dword [eax*4 + 0x499f6c]
cmp ecx, 0x2000
ja 0x499290
je case.0x49916e.12
cmp ecx, 0xa0
ja 0x499273
je case.0x49916e.12
cmp ecx, 9
je case.0x49916e.12
cmp ecx, 0x20
jne case.default.0x493bec
jmp case.0x49916e.12
cmp ecx, 0x1680
je case.0x49916e.12
cmp ecx, 0x180e
jne case.default.0x493bec
jmp case.0x49916e.12
cmp ecx, 0x3000
ja case.default.0x493bec
je case.0x49916e.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493bec
movzx eax, byte [ecx + 0x499fdc]
jmp dword [eax*4 + 0x499fd4]
cmp ecx, 0x85
ja 0x4992e0
je case.default.0x493bec
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x49916e.12
jmp dword [ecx*4 + 0x49a03c]
sub ecx, 0x2028
je case.default.0x493bec
sub ecx, 1
jmp 0x4993bf
cmp ecx, 0x85
ja 0x499315
je case.0x49916e.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493bec
jmp dword [ecx*4 + 0x49a04c]
sub ecx, 0x2028
je case.0x49916e.12
sub ecx, 1
jne case.default.0x493bec
jmp case.0x49916e.12
cmp ecx, 0x100
jae case.0x49916e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493bec
jmp case.0x49916e.12
cmp ecx, 0x100
jae case.default.0x493bec
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jmp 0x4993bf
cmp ecx, 0x100
jae case.0x49916e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493bec
jmp case.0x49916e.12
cmp ecx, 0x100
jae case.default.0x493bec
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jmp 0x4993bf
cmp ecx, 0x100
jae case.0x49916e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493bec
jmp case.0x49916e.12
cmp ecx, 0x100
jae case.default.0x493bec
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493bec
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x4990c0
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 [esi + 0x8c]
test eax, eax
je case.default.0x493bec
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493bec
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.default.0x493bec
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x94]
mov eax, dword [ecx + edx*8]
mov dword [esp + 0x54], eax
mov eax, dword [ecx + edx*8 + 4]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xb0]
sub eax, edx
mov edx, dword [esp + 0x174]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
sar eax, 1
mov dword [ecx], eax
cmp dword [esp + 0x20], 0x82
jb 0x4994a8
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi]
push edx
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4bfe50]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004921b0
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x49954a
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x49951e
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x49951e
cmp word [ecx], 0x71
je 0x49951a
cmp word [eax], 0x71
jne 0x49951e
xor esi, esi
jmp 0x499526
test esi, esi
jne 0x499579
mov dword [edx + 0x94], edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx + 0xb0], ebp
cmp word [ecx], 0x71
mov dword [esp + 0x14], ecx
jne 0x49954a
mov esi, ecx
jmp 0x499494
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x54]
mov dword [ecx + eax*8], edx
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x48]
mov dword [ecx + eax*8 + 4], edx
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub edx, eax
mov eax, dword [esp + 0x30]
mov dword [ecx + edx*4], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0xfffffc1c
jne 0x4995c5
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
je 0x4995ba
cmp ecx, 0x71
jne 0x4995b2
mov ecx, edi
movzx eax, word [edi + 2]
cmp word [ecx + eax*2], 0x71
lea edi, [ecx + eax*2]
mov ecx, edi
je 0x4995a2
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 + 0x4bfe50]
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.004921b0
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x499638
cmp esi, 0xfffffc19
je 0x499638
cmp esi, 0xfffffc1b
jne 0x499654
cmp dword [ebp + 0xb0], 0
jne 0x499654
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x499579
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049b540
test eax, eax
jne 0x499579
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004921b0
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x4996ed
cmp ecx, 0xfffffc1d
je 0x4996ed
cmp ecx, 0xfffffc1e
je 0x4996ed
cmp ecx, 0xfffffc1f
je 0x4996ed
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x499739
cmp eax, 0xfffffc20
jne 0x4975b4
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 + 0x4bfe50]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004921b0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x4997a5
cmp ecx, 0xfffffc19
jne 0x4997b4
cmp dword [ebp + 0xb0], 0
jne 0x4997b4
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x499739
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x499814
cmp eax, 0xfffffc1d
je 0x499814
cmp eax, 0xfffffc20
jne 0x4975b4
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004921b0
add esp, 0x14
test eax, eax
je 0x4998de
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 + 0x4bfe50]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004921b0
add esp, 0x14
cmp eax, 1
je 0x4998c3
cmp eax, 0xfffffc19
jne 0x4998d2
cmp dword [ebp + 0xb0], 0
jne 0x4998d2
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x4975b4
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 0x499934
cmp edx, 0x99
je 0x499934
cmp dword [ebp + 0xa8], 0
jne 0x499934
cmp dword [ebp + 0x5c], 0
jne case.default.0x493bec
cmp dword [ebp + 0x60], 0
je 0x499934
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x493bec
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