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

Disassembly:
sub esp, 0x158
push ebx
push ebp
push esi
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
push edi
test esi, esi
jne 0x48ac2e
cmp dword [esp + 0x17c], edx
jne 0x48ac13
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.0048abd0
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 0x4901cc
mov dword [esp + 0x68], 0xfc00
mov dword [esp + 0x48], 0xdc00
mov dword [esp + 0x4c], SysStringLen
mov dword [esp + 0x50], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x49233c
cmp dword [ebp + 0x9c], 2
jne 0x48acbf
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
jmp 0x48acbf
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
movzx ecx, word [esi]
mov edx, ecx
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
mov edi, ecx
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x48aced.98
movzx eax, byte [edx + 0x492494]
jmp dword [eax*4 + 0x49234c]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4b6ae0]
je 0x490287
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x48acbf
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.0048abd0
add esp, 0x14
cmp eax, 1
je 0x48ae38
cmp eax, 0xfffffc20
jne 0x48ada0
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + 2]
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], ecx
jae 0x4901d5
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
mov edx, dword [esp + 0x174]
je 0x48adaf
cmp word [ecx], 0x71
jne 0x4901d5
jmp 0x48adaf
test eax, eax
jne 0x4901d5
mov edx, dword [esp + 0x174]
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 0x48ad25
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x48adf0
cmp eax, 0x71
jne case.0x48aced.151
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 0x48adf0
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x18], ebx
cmp ecx, 0x72
je 0x48ae25
cmp ebx, edi
jne 0x48ff51
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
movzx ecx, word [esi]
mov dword [esp + 0x16c], eax
jmp 0x48add6
xor ebp, ebp
mov dword [esp + 0x3c], ebp
jmp 0x48b919
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
jne 0x48af4e
mov esi, dword [0x4dcd30]
test esi, esi
je 0x48af43
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb8], 2
movzx eax, word [edx + 6]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0xc4], ecx
mov eax, dword [ebp + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xcc], eax
mov eax, ebx
sub eax, ecx
sar eax, 1
mov dword [esp + 0xd0], eax
movzx eax, word [edx + 8]
mov dword [esp + 0xe0], eax
movzx eax, word [edx + 0xa]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xd4], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0xdc], eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xb8]
push eax
call esi
add esp, 4
test eax, eax
jg case.0x48aced.151
js 0x4901d5
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
movzx edx, word [esi + 4]
cmp edx, 0x89
je 0x48b123
cmp edx, 0x8a
je 0x48b123
cmp edx, 0x87
je 0x48afdf
cmp edx, 0x88
je 0x48afdf
cmp edx, 0x8b
jne 0x48af8e
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x48b2bf
mov dword [ebp + 0x9c], 1
lea edx, [esi + 4]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
cmp eax, 1
je 0x48ffe6
test eax, eax
je 0x48afd7
cmp eax, 0xfffffc20
jne 0x4901d5
lea eax, [esi + edi*2]
jmp 0x48b2bf
movzx esi, word [esi + 6]
lea ecx, [esi + esi]
cmp ecx, dword [esp + 0x170]
jge 0x48affc
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x48b2a6
cmp edx, 0x88
jne 0x48b114
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x28]
mov edi, eax
mov dword [esp + 0x2c], 0
test ecx, ecx
jle 0x48b114
mov ebp, eax
xor edx, edx
movzx eax, word [edi]
cmp eax, esi
je 0x48b05e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea edi, [eax*2]
mov eax, dword [esp + 0x2c]
inc eax
add edi, ebp
mov dword [esp + 0x2c], eax
mov edx, eax
mov ebp, edi
cmp eax, ecx
jl 0x48b024
mov eax, dword [esp + 0x14]
xor ecx, ecx
movzx eax, word [eax + 2]
jmp 0x48b2b0
cmp edx, ecx
jge 0x48b114
mov eax, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [eax + 0x28]
jbe 0x48b0c3
mov eax, dword [eax + 0x24]
lea ecx, [edi + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.00493870
test eax, eax
jne 0x48b0bc
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x48b0ae
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x48b2a6
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x28]
ja 0x48b074
jmp 0x48b0c3
mov eax, dword [esp + 0x174]
mov ebp, dword [esp + 0x2c]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x48b114
lea esi, [edi + 2]
mov eax, dword [eax + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.00493870
test eax, eax
jne 0x48b114
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x48b107
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x48b2a6
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x48b0d0
mov eax, dword [esp + 0x14]
xor ecx, ecx
movzx eax, word [eax + 2]
jmp 0x48b2b0
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x48b139
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x48b2bf
movzx esi, word [esi + 6]
cmp esi, 0xffff
je 0x48b2a6
cmp esi, dword [eax + 4]
je 0x48b2a6
xor ecx, ecx
mov dword [esp + 0x28], ecx
cmp edx, 0x8a
jne 0x48b29c
mov edx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov edi, eax
xor ebp, ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], ebp
mov edx, dword [edx + 0x20]
test edx, edx
jle 0x48b29c
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
nop
movzx eax, word [edi]
cmp eax, esi
je 0x48b1ca
mov eax, dword [esp + 0x174]
inc ebp
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x3c], ebp
mov eax, dword [eax + 0x24]
lea edi, [edi + eax*2]
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
cmp ebp, edx
jl 0x48b190
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x48b2b0
cmp dword [esp + 0x3c], edx
jge 0x48b29c
mov edx, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [edx + 0x28]
jbe 0x48b240
mov ebx, dword [esp + 0x28]
lea eax, [edi + 2]
mov dword [esp + 0x2c], eax
mov edi, eax
mov ebp, edx
mov eax, dword [ebp + 0x24]
mov ecx, edi
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.00493870
test eax, eax
jne 0x48b221
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x48b221
cmp esi, dword [ebp + 0x28]
ja 0x48b1f1
mov edi, dword [esp + 0x38]
test ebx, ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18]
jne 0x48b292
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x174]
inc ebp
cmp ebp, dword [edx + 0x20]
jge 0x48b29c
mov ebx, dword [esp + 0x28]
lea esi, [edi + 2]
nop dword [eax]
mov eax, dword [edx + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.00493870
test eax, eax
jne 0x48b286
mov edx, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [edi]
mov eax, dword [edx + 0xa8]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x48b286
inc ebp
cmp ebp, dword [edx + 0x20]
jl 0x48b250
mov dword [esp + 0x28], ebx
test ebx, ebx
mov ebx, dword [esp + 0x18]
je 0x48b298
mov ecx, dword [esp + 0x28]
jmp 0x48b2ab
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x48b2b0
mov ecx, 1
mov eax, 2
mov edx, dword [esp + 0x14]
lea eax, [edx + eax*2]
test ecx, ecx
jne 0x490022
cmp word [eax], 0x71
mov ebp, dword [esp + 0x174]
je 0x490029
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x48acbf
movzx esi, word [esi + 2]
mov dword [ebp + 0x94], esi
lea edx, [esi + esi]
cmp edx, dword [ebp + 0x14]
jl 0x48b305
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
sub ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp dword [esp + 0x170], edx
jg 0x48b334
lea eax, [edx + 2]
mov dword [esp + 0x170], eax
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x48b364
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x48b370
xor edi, edi
nop word [eax + eax]
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.0048abd0
add esp, 0x14
cmp eax, 1
je 0x48b3db
cmp eax, 0xfffffc19
je 0x48b3db
test eax, eax
je 0x48b3b6
cmp eax, 0xfffffc20
jne 0x4901d5
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 0x48b370
mov esi, dword [esp + 0x14]
jmp 0x48b3ef
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x16c], eax
movzx eax, word [esi]
cmp ax, 0x72
je case.0x48aced.151
test edi, edi
jne 0x490340
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x48b401
mov eax, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], eax
jmp 0x48acbf
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x48b448
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x48b44a
xor edi, edi
mov ecx, dword [esp + 0x14]
nop
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.0048abd0
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.0x48aced.151
cmp eax, 0xfffffc19
je case.0x48aced.151
cmp eax, 0xfffffc1e
je 0x48b4cf
cmp eax, 0xfffffc1d
je 0x48b4cf
cmp eax, 0xfffffc1a
je 0x48b4cf
test eax, eax
je 0x48b4b5
cmp eax, 0xfffffc20
jne 0x4901d5
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 0x48b450
mov esi, ecx
jmp 0x48b4e1
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x48b4d3
test edi, edi
jne 0x490340
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x48acbf
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x48b52d
mov edx, dword [ebp + 0x78]
mov edi, 0xfc00
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x18], ebx
cmp ebx, edx
jb case.0x48aced.151
mov ax, word [ebx]
and ax, di
cmp ax, word [esp + 0x48]
jne 0x48b529
add ebx, 0xfffffffe
mov dword [esp + 0x18], ebx
test ecx, ecx
jg 0x48b505
cmp ebx, dword [ebp + 0x88]
jae 0x48b53b
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov esi, dword [0x4dcd30]
test esi, esi
je 0x48b625
mov edi, dword [esp + 0x14]
mov dword [esp + 0x80], 2
movzx eax, word [edi + 2]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0x8c], ecx
mov eax, dword [ebp + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x94], eax
mov eax, ebx
sub eax, ecx
sar eax, 1
mov dword [esp + 0x98], eax
movzx eax, word [edi + 8]
mov dword [esp + 0xa8], eax
movzx eax, word [edi + 0xa]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 4]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x80]
push eax
call esi
add esp, 4
test eax, eax
jg case.0x48aced.151
js 0x4901d5
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x48b647
xor ecx, ecx
jmp 0x48b64b
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x48b66b
cmp ecx, dword [eax + 4]
jne 0x48b665
cmp ebx, dword [eax + 0x10]
je 0x4902e8
mov eax, dword [eax]
test eax, eax
jne 0x48b657
mov dword [esp + 0x58], ecx
lea eax, [esp + 0x54]
mov dword [esp + 0x64], ebx
add esi, 4
mov dword [esp + 0x54], edx
mov dword [ebp + 0xa8], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x60], ecx
cmp ecx, 0x1e
jg 0x48b6a1
lea eax, [esp + 0xf0]
mov dword [esp + 0x5c], eax
jmp 0x48b6c1
lea eax, [ecx*4]
push eax
call fcn.00497ab4
add esp, 4
mov dword [esp + 0x5c], eax
test eax, eax
je 0x49031d
mov ecx, dword [esp + 0x60]
shl ecx, 2
push ecx
push dword [ebp + 0xc]
push eax
call fcn.00497340
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
nop dword [eax + eax]
mov eax, 0x82
cmp bp, ax
jb 0x48b6f4
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 + 0x4b6ae0]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.0048abd0
mov ecx, dword [esp + 0x74]
add esp, 0x14
shl ecx, 2
mov esi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x60]
push dword [eax + 0xc]
call fcn.00497340
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x48b7cb
cmp esi, 0xfffffc19
je 0x48b7cb
test esi, esi
je 0x48b780
cmp esi, 0xfffffc20
jne 0x4902f8
lea eax, [esp + 0x54]
mov dword [ecx + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48b6e0
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa8], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0x5c]
cmp eax, ecx
je case.0x48aced.151
push eax
call fcn.00497f48
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x48b7e3
push eax
call fcn.00497f48
add esp, 4
mov ebp, dword [esp + 0x174]
mov ebx, dword [ebp + 0x84]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x16c], eax
jmp 0x48acbb
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x48aced.113
mov dword [esp + 0x14], esi
jmp 0x48acbf
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 dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop dword [eax]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x48b860
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x48acbf
add esi, 2
mov dword [esp + 0x14], esi
mov edx, esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x48b883
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x48acbf
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea ecx, [esi + 2]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
je 0x48b8d3
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jmp 0x48acbf
movzx edx, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov ebp, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], ebp
cmp edx, 0x80
je 0x48b919
cmp edx, 0x85
jne 0x48bafd
movzx edx, word [esi + 4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [ecx + 0x14]
jge 0x48baf7
shl eax, 2
mov edi, esi
sub edi, dword [ecx + 0x74]
xor ebp, ebp
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x28], eax
sar edi, 1
mov esi, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x38], esi
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x24], eax
mov esi, dword [ecx + 0x94]
nop word [eax + eax]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov dword [eax + ecx*4], edx
jb 0x48b9b6
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 + 0x4b6ae0]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.0048abd0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x48ba32
mov ecx, dword [esp + 0x174]
mov ebp, 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x18], ebx
lea eax, [eax + edi*2]
mov dword [esp + 0x14], eax
jmp 0x48b970
cmp ecx, 0xfffffc20
jne 0x48ba71
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x48ba64
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x48ba79
cmp word [eax], 0x71
je 0x48ba79
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x48ba64
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x94], esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
je 0x48b980
test ebp, ebp
jne 0x48bad1
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x38]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], edx
cmp dword [esp + 0x3c], 0
jne 0x48bae0
test ebp, ebp
je case.0x48aced.151
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
nop dword [eax + eax]
cmp edx, 0x82
jb 0x48bb22
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 + 0x4b6ae0]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.0048abd0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x48bb9c
mov ecx, dword [esp + 0x174]
mov edi, 1
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x18], ebx
lea eax, [eax + esi*2]
mov dword [esp + 0x14], eax
jmp 0x48bb10
cmp ecx, 0xfffffc20
jne 0x48bbd2
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x48ba64
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x48bbda
cmp word [eax], 0x71
jmp 0x48bbd4
test ecx, ecx
jne 0x48ba64
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
je 0x48bb10
test edi, edi
jne 0x48bc0b
test ebp, ebp
je case.0x48aced.151
mov esi, dword [esp + 0x14]
mov ebp, ecx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x48acbf
movzx eax, word [esi + 2]
mov ebp, esi
add eax, eax
sub ebp, eax
mov eax, 0x82
movzx ecx, word [ebp]
cmp cx, ax
jae 0x48bc44
cmp ecx, 0x7b
je 0x48bc44
mov dword [esp + 0x2c], 0
jmp 0x48bc5d
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 + 0x2c], eax
cmp ecx, 0x77
jb 0x48bc6b
cmp ecx, 0x7a
jbe 0x490431
cmp ecx, 0x7c
je 0x490431
cmp ecx, 0x7f
je 0x48bc9b
mov eax, 0x84
cmp cx, ax
je 0x48bc9b
mov eax, 0x80
cmp cx, ax
je 0x48bc9b
mov eax, 0x85
cmp cx, ax
jne 0x48bd6e
mov edi, dword [esp + 0x174]
movzx esi, word [ebp + 4]
mov eax, dword [edi + 0xa8]
lea edx, [esi + esi]
test eax, eax
je 0x48bcbc
cmp dword [eax + 4], esi
je 0x49032d
mov dword [edi + 0x94], esi
cmp edx, dword [edi + 0x14]
jl 0x48bd0b
mov dword [edi + 0x40], 1
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x72
je 0x48bced
cmp ebx, dword [esp + 0x2c]
jne 0x49007f
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4903ee
mov ebp, dword [esp + 0x174]
jmp 0x48acbf
mov ecx, dword [esp + 0x170]
cmp edx, ecx
jle 0x48bd36
mov eax, dword [edi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x48bd2f
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x174]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
sub ecx, dword [edi + 0x78]
mov eax, dword [edi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp dword [esp + 0x170], edx
jg 0x48bcce
add edx, 2
mov dword [esp + 0x170], edx
jmp 0x48bcd5
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
jmp 0x48bcd9
cmp dword [ebp + 0x44], 0
je case.0x48aced.1
cmp ebx, dword [ebp + 0x78]
je case.0x48aced.151
cmp ebx, dword [ebp + 0x78]
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp dword [ebp + 0x44], 0
je 0x48bdb9
cmp ebx, dword [ebp + 0x78]
je case.0x48aced.151
mov ecx, dword [ebp + 0x78]
jmp 0x48bdc4
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je 0x48c011
cmp ebx, dword [ebp + 0x7c]
je case.0x48aced.151
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x48be01
cmp ebx, ecx
jbe case.0x48aced.151
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004939a0
add esp, 0xc
test eax, eax
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.0x48aced.151
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.0x48aced.151
cmp esi, 1
je 0x48c00d
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.0x48aced.151
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x48bef0
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x48beb0
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00493900
add esp, 0xc
test eax, eax
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x48aced.151
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x48aced.151
cmp edx, 1
je 0x48c011
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp dword [ebp + 0x48], 0
jne case.0x48aced.151
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x48c011
cmp ebx, dword [ebp + 0x88]
jbe 0x48c011
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x491d5d
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp dword [ebp + 0x48], 0
jne case.0x48aced.151
cmp dword [ebp + 0x58], 0
je case.0x48aced.23
cmp ebx, dword [ebp + 0x7c]
jb case.0x48aced.151
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x48c011
cmp ebx, dword [ebp + 0x88]
jbe 0x48c011
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x491d5d
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x48bfeb
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x48bfad
push 1
push edi
push esi
mov ecx, ebx
call fcn.00493900
add esp, 0xc
test eax, eax
je case.0x48aced.151
mov edx, dword [edi]
mov esi, dword [ebp + 0x7c]
jmp 0x48bfde
mov edx, dword [edi]
mov ecx, esi
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x48aced.151
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x48aced.151
cmp edx, 1
je 0x48bfde
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.0x48aced.151
lea eax, [edx + edx]
sub esi, eax
cmp ebx, esi
jne case.0x48aced.151
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x48c00d
cmp ebx, dword [ebp + 0x88]
jbe 0x48c00d
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x491d5d
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x78]
je 0x48c0e2
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48c042
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
jae 0x48c050
mov dword [ebp + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c07b
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 0x48c0ca
cmp ecx, 0x5f
jne 0x48c08e
lea edx, [ecx - 0x5e]
jmp 0x48c0e4
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48c0c3
cmp eax, 3
jne 0x48c0e2
mov edx, 1
jmp 0x48c0e4
cmp ecx, 0x100
jae 0x48c0e2
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x48c0e2
mov edx, 1
jmp 0x48c0e4
xor edx, edx
cmp ebx, dword [ebp + 0x7c]
jb 0x48c136
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x48c10b
cmp ebx, dword [ebp + 0x88]
jbe 0x48c10b
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x491d5d
xor ecx, ecx
movzx eax, word [esi]
xor edx, ecx
add esi, 2
mov dword [esp + 0x14], esi
cmp eax, 5
jne 0x48c121
xor edx, 1
test edx, edx
je 0x48acbf
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c161
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebp + 0x54], 0
je 0x48c1b6
cmp ecx, 0x5f
jne 0x48c173
mov ecx, 1
jmp 0x48c10d
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48c1ac
cmp eax, 3
jne 0x48c10b
mov ecx, 1
jmp 0x48c10d
cmp ecx, 0x100
jae 0x48c10b
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x48c10b
mov ecx, 1
jmp 0x48c10d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x48c202
cmp ebx, ecx
jae case.0x48aced.13
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00493900
add esp, 0xc
test eax, eax
jne case.0x48aced.151
jmp case.0x48aced.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x48aced.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x48aced.13
cmp edx, 1
je case.0x48aced.151
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.0x48aced.151
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x491d33
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, eax
jae 0x48c260
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48c260
add ebx, 2
mov dword [esp + 0x18], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c2c9
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x100
jae 0x48c011
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c32f
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0xff
ja case.0x48aced.151
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c395
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x100
jae 0x48c011
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c3fb
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0xff
ja case.0x48aced.151
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c461
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x100
jae 0x48c011
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c4c7
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0xff
ja case.0x48aced.151
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c527
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
cmp ecx, 0xd
ja 0x48c581
je 0x48c54e
cmp ecx, 0xa
je 0x48c538
lea eax, [ecx - 0xb]
jmp 0x48c58f
mov esi, dword [esp + 0x14]
mov ebx, edx
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov ebx, edx
mov dword [esp + 0x18], ebx
cmp edx, esi
jae 0x48c00d
cmp word [edx], 0xa
mov dword [esp + 0x18], ebx
jne 0x48c00d
mov esi, dword [esp + 0x14]
lea ebx, [edx + 2]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x85
je 0x48c598
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x48aced.151
cmp dword [ebp + 0x68], 0
mov ebx, edx
mov dword [esp + 0x18], ebx
jne case.0x48aced.151
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c5f9
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x180e
ja 0x48c64b
je case.0x48aced.151
cmp ecx, 0xa0
ja 0x48c633
je case.0x48aced.151
cmp ecx, 9
je case.0x48aced.151
cmp ecx, 0x20
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x1680
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x205f
ja 0x48c689
je case.0x48aced.151
cmp ecx, 0x2000
jb 0x48c011
cmp ecx, 0x200a
jbe case.0x48aced.151
cmp ecx, 0x202f
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x3000
je case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c6e2
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x180e
ja 0x48c734
je 0x48c011
cmp ecx, 0xa0
ja 0x48c71c
je 0x48c011
cmp ecx, 9
je 0x48c011
cmp ecx, 0x20
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x1680
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x205f
ja 0x48c772
je 0x48c011
cmp ecx, 0x2000
jb case.0x48aced.151
cmp ecx, 0x200a
jbe 0x48c011
cmp ecx, 0x202f
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x3000
jne case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c7cb
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x85
ja 0x48c7f7
je case.0x48aced.151
cmp ecx, 0xa
jb 0x48c011
cmp ecx, 0xd
jbe case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ecx, 0x2028
jb 0x48c011
cmp ecx, 0x2029
jbe case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c85c
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ecx, 0x85
ja 0x48c882
je 0x48c011
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x48aced.151
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c8de
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x48c909
jmp dword [ecx*4 + 0x492530]
cmp dword [esp + 0x20], 0xf
jmp 0x48ca51
mov al, byte [eax*8 + 0x4c2849]
cmp al, 9
je 0x48ca40
cmp al, 5
je 0x48ca40
cmp al, 8
je 0x48ca40
xor ecx, ecx
jmp 0x48ca45
movzx ecx, byte [eax*8 + 0x4c2849]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4b6a68]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x48ca51
movzx eax, byte [eax*8 + 0x4c2849]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x48ca4c
movzx eax, byte [eax*8 + 0x4c2848]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x48ca4c
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48ca40
cmp eax, 3
je 0x48ca40
xor ecx, ecx
jmp 0x48ca45
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x48ca40
cmp edx, 9
je 0x48ca40
cmp edx, 0xa
je 0x48ca40
cmp edx, 0xc
je 0x48ca40
cmp edx, 0xd
je 0x48ca40
xor ecx, ecx
jmp 0x48ca45
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x48ca40
cmp edx, 9
je 0x48ca40
cmp edx, 0xa
je 0x48ca40
cmp edx, 0xb
jmp 0x48c9ed
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48ca40
cmp eax, 3
je 0x48ca40
cmp edx, 0x5f
je 0x48ca40
xor ecx, ecx
jmp 0x48ca45
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.0x48aced.151
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x48acbf
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48caa6
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
je case.0x48aced.151
cmp ebx, edi
jae 0x48cb5a
mov esi, ebx
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48cb1b
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
jne 0x48cb52
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x48cae6
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x48acbf
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 + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], esi
cmp ecx, dword [esp + 0x170]
jge 0x48cba1
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x48cba1
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x48cbab
mov ebp, dword [ebp + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov eax, dword [esp + 0x14]
movzx esi, word [eax]
mov edi, esi
lea eax, [edi - 0x62]
cmp eax, 7
ja case.default.0x48cbc7
movzx eax, byte [eax + 0x49255c]
jmp dword [eax*4 + 0x492554]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4b627a]
and eax, 1
mov dword [esp + 0x38], eax
movsx eax, byte [edi + 0x4b6272]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x48cc26
mov dword [esp + 0x3c], SysStringLen
jmp 0x48cc26
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, 0x69
sete al
movzx esi, word [edi + 2]
mov dword [esp + 0x38], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, dword [esp + 0x4c]
add edi, 6
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], edi
test ebp, ebp
je 0x48acb4
jns 0x48cc38
test esi, esi
je 0x48acb4
mov edi, 1
cmp esi, edi
jl 0x48cc70
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.0048aa20
add esp, 0xc
test eax, eax
js 0x490468
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x28]
inc edi
mov dword [esp + 0x18], ebx
cmp edi, esi
jle 0x48cc41
mov eax, dword [esp + 0x3c]
cmp esi, eax
je 0x48acb4
cmp dword [esp + 0x38], 0
je 0x49049e
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov edi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x3c]
jge case.0x48aced.151
push dword [esp + 0x28]
mov edx, ebx
mov ecx, edi
push dword [esp + 0x178]
push ebp
call fcn.0048aa20
add esp, 0xc
test eax, eax
js 0x490468
mov edx, dword [esp + 0x14]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc esi
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x48ccc6
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.0048aa20
add esp, 0xc
test eax, eax
js 0x490564
lea ebx, [ebx + eax*2]
mov ebp, esi
mov dword [esp + 0x18], ebx
jmp 0x48acbb
movzx edx, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x3c], ebp
mov ecx, edx
mov dword [esp + 0x14], esi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x48cd87
movzx eax, byte [eax + 0x49256c]
jmp dword [eax*4 + 0x492564]
movsx eax, byte [ecx + 0x4b6272]
add esi, 2
mov edx, ecx
mov dword [esp + 0x14], esi
movsx esi, byte [ecx + 0x4b627a]
and edx, 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
test eax, eax
jne 0x48cdf3
mov dword [esp + 0x28], SysStringLen
jmp 0x48cdf3
mov ecx, dword [esp + 0x14]
xor eax, eax
movzx esi, word [esi + 2]
cmp edx, 0x69
mov edx, SysReAllocString
mov dword [esp + 0x2c], esi
sete al
mov dword [esp + 0x30], eax
movzx eax, word [ecx + 4]
test eax, eax
cmove eax, edx
add ecx, 6
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
cmp esi, 1
jl 0x48ce94
jmp 0x48ce0f
mov esi, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x174]
mov edi, 1
mov ebp, dword [ecx + 0x7c]
nop
cmp ebx, ebp
jae 0x490770
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ce60
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp edx, 0xff
jbe 0x48ce6f
cmp dword [esp + 0x20], 0x6a
jmp 0x48ce85
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x3c]
test byte [edx + ecx], al
je case.0x48aced.151
inc edi
cmp edi, esi
jle 0x48ce20
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
cmp esi, edi
je 0x48acb4
cmp dword [esp + 0x30], 0
je 0x4905f3
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp esi, edi
jge case.0x48aced.151
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x490777
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48cf2e
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
cmp edx, 0xff
jbe 0x490593
cmp dword [esp + 0x20], 0x6a
je case.0x48aced.151
jmp 0x4905b2
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
movzx edx, word [esi + eax*2]
lea esi, [esi + eax*2]
mov ecx, edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x14], esi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x48cf75
movzx eax, byte [eax + 0x49257c]
jmp dword [eax*4 + 0x492574]
movsx eax, byte [ecx + 0x4b6272]
mov edx, ecx
movsx edi, byte [ecx + 0x4b627a]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x48cfd5
mov dword [esp + 0x3c], SysStringLen
jmp 0x48cfd5
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x30], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], esi
cmp edi, 1
jl 0x48d061
jmp 0x48cfed
mov dword [esp + 0x3c], 1
mov edi, 1
mov esi, 1
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x490777
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48d048
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
push 1
mov edx, ebp
call fcn.00493a80
add esp, 4
test eax, eax
je case.0x48aced.151
inc esi
cmp esi, edi
jle 0x48d000
mov esi, dword [esp + 0x3c]
cmp edi, esi
je 0x48acb4
cmp dword [esp + 0x30], 0
je 0x49078a
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp edi, esi
jge case.0x48aced.151
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x490777
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48d0fb
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.00493a80
add esp, 4
test eax, eax
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x48d0b3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ax, word [esi + 2]
add esi, 2
mov ecx, 0xfc00
xor edx, edx
and ax, cx
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 0x4908ce
movzx ecx, word [esi]
dec edx
movzx eax, word [ebx]
add esi, 2
add ebx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
cmp cx, ax
jne case.0x48aced.151
test edx, edx
jg 0x48d184
jmp 0x48acbf
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
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 0x48d1f0
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x48d1f5
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x48d22b
mov edi, 0xff
mov ecx, eax
cmp ax, di
mov eax, dword [ebp + 0x34]
ja 0x48d213
movzx ecx, byte [eax + ecx]
movzx eax, byte [eax + edx]
cmp eax, ecx
jne case.0x48aced.151
add ebx, 2
mov dword [esp + 0x18], ebx
jmp 0x48acbf
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x48d260
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
add ebx, 2
or esi, eax
mov dword [esp + 0x18], ebx
add esi, 0x10000
lea eax, [edi + ecx]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x48acbb
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
mov eax, dword [eax*8 + 0x4c284c]
add eax, edx
cmp esi, eax
jne case.0x48aced.151
jmp 0x48acbb
movzx edi, word [esi + 2]
lea ecx, [esi + 4]
mov ebp, edi
jmp 0x48d368
mov dword [esp + 0x38], 1
movzx edi, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], edi
cmp ecx, 0x28
je 0x48d2d5
mov dword [esp + 0x30], ebp
cmp ecx, 0x35
jne 0x48d2dd
mov dword [esp + 0x30], 1
lea ecx, [esi + 4]
jmp 0x48d370
mov dword [esp + 0x38], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x24], SysStringLen
jmp 0x48d36c
mov dword [esp + 0x38], 1
lea ecx, [esi + 2]
mov ebp, 1
mov dword [esp + 0x24], SysStringLen
jmp 0x48d36c
mov dword [esp + 0x38], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x24], 1
jmp 0x48d36c
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x30], ecx
and dword [esp + 0x30], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4b62d4]
movsx ebp, byte [eax + 0x4b62dc]
test edi, edi
mov eax, SysReAllocString
cmove edi, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ebp
movzx esi, word [ecx]
lea edi, [ecx + 2]
mov eax, esi
mov dword [esp + 0x28], ecx
and eax, 0xfc00
mov dword [esp + 0x14], edi
cmp eax, 0xd800
jne 0x48d77a
movzx edx, word [edi]
lea eax, [ecx + 4]
and esi, 0x3ff
mov dword [esp + 0x3c], 2
and edx, 0x3ff
shl esi, 0xa
or edx, esi
mov dword [esp + 0x14], eax
add edx, 0x10000
cmp dword [esp + 0x20], 0x2e
jb 0x48d3fc
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
mov ecx, dword [eax*8 + 0x4c284c]
add ecx, edx
cmp ecx, edx
je 0x48d3fc
lea edx, [esp + 0x74]
call fcn.004938a0
mov edi, eax
mov dword [esp + 0x2c], eax
jmp 0x48d402
xor edi, edi
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x1c]
mov ebp, 1
cmp esi, ebp
jl 0x48d548
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], esi
lea eax, [ecx - 4]
mov dword [esp + 0x44], eax
jmp 0x48d444
mov edi, dword [esp + 0x2c]
cmp ebx, eax
ja 0x48d4af
lea esi, [edx + edx]
mov ecx, ebx
mov edx, dword [esp + 0x28]
sub esi, 4
jb 0x48d471
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x48d476
add ecx, 4
add edx, 4
sub esi, 4
jae 0x48d460
cmp esi, 0xfffffffc
je 0x48d4a3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x48d4ab
cmp esi, 0xfffffffd
je 0x48d4a3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x48d4ab
cmp esi, 0xfffffffe
je 0x48d4a3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x48d4ab
cmp esi, 0xffffffff
je 0x48d4a3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x48d4ab
add ebx, 4
jmp 0x48d52b
mov ecx, dword [esp + 0x20]
test edi, edi
jle 0x490468
add edi, edi
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x490468
mov esi, dword [esp + 0x2c]
lea edx, [esp + 0x74]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x48d4e7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x48d4ec
add ecx, 4
add edx, 4
sub esi, 4
jae 0x48d4d6
cmp esi, 0xfffffffc
je 0x48d529
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x490468
cmp esi, 0xfffffffd
je 0x48d529
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x490468
cmp esi, 0xfffffffe
je 0x48d529
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x490468
cmp esi, 0xffffffff
je 0x48d529
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x490468
add ebx, edi
mov esi, dword [esp + 0x1c]
inc ebp
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
cmp ebp, esi
jle 0x48d440
mov edi, dword [esp + 0x24]
cmp esi, edi
je 0x48acb4
cmp dword [esp + 0x30], 0
jne 0x4908e9
mov ebp, ebx
mov dword [esp + 0x20], ebp
cmp esi, edi
jge 0x48d69c
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x7c]
mov ebp, eax
lea edi, [ecx + ecx]
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], edi
sub ebp, edi
nop word [eax + eax]
cmp ebx, ebp
ja 0x48d5f4
mov edx, dword [esp + 0x28]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x48d5b7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x48d5bc
add ecx, 4
add edx, 4
sub esi, 4
jae 0x48d5a6
cmp esi, 0xfffffffc
je 0x48d5e9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x48d5f0
cmp esi, 0xfffffffd
je 0x48d5e9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x48d5f0
cmp esi, 0xfffffffe
je 0x48d5e9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x48d5f0
cmp esi, 0xffffffff
je 0x48d5e9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x48d5f0
add ebx, edi
jmp 0x48d679
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x48d743
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x48d743
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x48d631
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x48d636
add ecx, 4
add edx, 4
sub esi, 4
jae 0x48d620
cmp esi, 0xfffffffc
je 0x48d673
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x48d743
cmp esi, 0xfffffffd
je 0x48d673
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x48d743
cmp esi, 0xfffffffe
je 0x48d673
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x48d743
cmp esi, 0xffffffff
je 0x48d673
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x48d743
add ebx, edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
inc esi
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
cmp esi, dword [esp + 0x24]
jl 0x48d590
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x48acb4
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp ebx, ebp
je case.0x48aced.151
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48d709
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.0048abd0
add esp, 0x14
test eax, eax
je 0x48d6e5
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 0x48d771
cmp ebx, dword [esi + 0x7c]
jb 0x48d771
cmp ebx, dword [esi + 0x88]
jbe 0x48d771
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x491d5d
mov ebp, dword [esp + 0x20]
jmp 0x48d6a3
cmp edx, 0x2e
jb 0x48d8dd
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x48d7b8
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
mov edi, dword [eax*8 + 0x4c284c]
add edi, esi
jmp 0x48d7bf
mov eax, dword [edx + 0x38]
movzx edi, byte [eax + esi]
mov ecx, 1
cmp ebp, ecx
jl 0x48d7fb
mov edx, dword [edx + 0x7c]
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x490770
movzx eax, word [ebx]
cmp esi, eax
je 0x48d7ef
cmp edi, eax
jne case.0x48aced.151
add ebx, 2
inc ecx
mov dword [esp + 0x18], ebx
cmp ecx, ebp
jle 0x48d7d0
mov eax, dword [esp + 0x24]
cmp ebp, eax
je 0x48acb4
cmp dword [esp + 0x30], 0
jne 0x490a9a
mov edx, dword [esp + 0x1c]
mov ebp, ebx
cmp edx, eax
jge 0x48d847
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x48d8af
movzx eax, word [ebx]
cmp esi, eax
je 0x48d839
cmp edi, eax
jne 0x48d847
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, dword [esp + 0x24]
jl 0x48d826
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x48acb4
cmp ebx, ebp
jb case.0x48aced.151
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.0048abd0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4901d5
mov ecx, dword [esp + 0x174]
cmp ebx, ebp
jae 0x48d861
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 0x48d84e
cmp ebx, dword [ecx + 0x88]
jbe 0x48d84e
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x48d84e
mov edi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x48d90f
mov edx, dword [edi + 0x7c]
cmp ebx, edx
jae 0x490b3e
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp esi, eax
jne case.0x48aced.151
inc ecx
cmp ecx, ebp
jle 0x48d8f0
mov edx, dword [esp + 0x24]
cmp ebp, edx
je 0x48acb4
cmp dword [esp + 0x30], 0
jne 0x490b64
mov edi, ebx
cmp ebp, edx
jge 0x48d951
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x48d9b7
movzx eax, word [ebx]
cmp esi, eax
jne 0x48d951
add ebx, 2
inc ebp
mov dword [esp + 0x18], ebx
cmp ebp, edx
jl 0x48d936
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x48acbb
cmp ebx, edi
jb case.0x48aced.151
nop dword [eax + 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.0048abd0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4901d5
cmp ebx, edi
jae 0x48d970
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x48d958
cmp ebx, dword [ebp + 0x88]
jbe 0x48d958
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x48d958
cmp ebx, dword [ebp + 0x7c]
jae 0x491d33
lea ecx, [esi + 2]
movzx esi, word [ebx]
mov eax, esi
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x48da29
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
add ebx, 2
or esi, eax
mov dword [esp + 0x18], ebx
add esi, 0x10000
movzx edx, word [ecx]
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
cmp edi, 0x20
jne 0x48da86
cmp edx, 0x7f
jbe 0x48da6a
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
mov eax, dword [eax*8 + 0x4c284c]
add eax, edx
jmp 0x48da71
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.0x48aced.151
cmp eax, esi
je case.0x48aced.151
jmp 0x48acbb
mov dword [esp + 0x14], eax
cmp edx, esi
je case.0x48aced.151
jmp 0x48acbb
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x20], eax
mov ebp, eax
jmp 0x48db63
movzx eax, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], eax
cmp ecx, 0x42
je 0x48dac1
mov dword [esp + 0x30], ebp
cmp ecx, 0x4f
jne 0x48dac9
mov dword [esp + 0x30], 1
lea ecx, [esi + 4]
jmp 0x48db63
mov dword [esp + 0x38], 1
lea ecx, [esi + 2]
xor ebp, ebp
jmp 0x48db5b
mov dword [esp + 0x38], 1
lea ecx, [esi + 2]
mov ebp, 1
jmp 0x48db5b
mov dword [esp + 0x38], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], 1
jmp 0x48db63
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x38], 1
xor ebp, ebp
mov dword [esp + 0x20], eax
jmp 0x48db63
cmp edx, 0x48
lea ecx, [esi + 2]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [esp + 0x30], edx
movsx ebp, byte [eax + 0x4b62dc]
movsx eax, byte [eax + 0x4b62d4]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x48db63
mov dword [esp + 0x20], SysStringLen
movzx esi, word [ecx]
add ecx, 2
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], ecx
cmp edi, 0x48
jb 0x48dd90
cmp esi, 0x7f
jbe 0x48dbaf
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, esi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
mov ecx, dword [esp + 0x174]
mov edi, dword [eax*8 + 0x4c284c]
add edi, esi
jmp 0x48dbbd
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx edi, byte [eax + esi]
mov dword [esp + 0x2c], edi
cmp ebp, 1
jl 0x48dc2d
mov esi, dword [ecx + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x490770
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48dc12
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x28], ecx
je case.0x48aced.151
cmp edi, ecx
je case.0x48aced.151
inc edx
cmp edx, ebp
jle 0x48dbd2
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
cmp ebp, eax
je 0x48acb4
cmp dword [esp + 0x30], 0
jne 0x490bfa
mov edi, ebx
cmp ebp, eax
jge 0x48dcaf
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48dd57
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48dc95
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 + 0x28], ecx
je 0x48dcaf
cmp dword [esp + 0x2c], ecx
je 0x48dcaf
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebp, dword [esp + 0x20]
jl 0x48dc58
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
mov esi, dword [esp + 0x14]
jne 0x48acbf
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, edi
je case.0x48aced.151
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48dd1d
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x48dcf8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x48dcb6
cmp ebx, dword [ebp + 0x88]
jbe 0x48dcb6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x48dcb6
mov edi, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x48ddfe
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x490b3e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48dde7
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x28], ecx
je case.0x48aced.151
inc edx
cmp edx, ebp
jle 0x48dda7
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp ebp, eax
je 0x48acb4
cmp dword [esp + 0x30], 0
jne 0x490cfa
mov edi, ebx
cmp ebp, eax
jge 0x48de81
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x48df2f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48de6d
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 + 0x28], ecx
je 0x48de81
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebp, dword [esp + 0x20]
jl 0x48de30
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
mov esi, dword [esp + 0x14]
jne 0x48acbf
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop word [eax + eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, edi
je case.0x48aced.151
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48def5
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x48ded0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x48de88
cmp ebx, dword [ebp + 0x88]
jbe 0x48de88
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x48de88
movzx eax, word [esi + 2]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
lea eax, [esi + 4]
mov dword [esp + 0x30], 1
jmp 0x48e03c
movzx eax, word [esi + 2]
xor edx, edx
xor edi, edi
mov dword [esp + 0x24], eax
cmp ecx, 0x5c
mov dword [esp + 0x20], edi
lea eax, [esi + 4]
sete dl
mov dword [esp + 0x30], edx
jmp 0x48e03c
xor edi, edi
mov dword [esp + 0x38], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x48e034
mov edi, 1
mov dword [esp + 0x38], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x48e034
xor edi, edi
mov dword [esp + 0x38], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
mov dword [esp + 0x24], 1
jmp 0x48e03c
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x24], eax
lea eax, [esi + 4]
mov dword [esp + 0x38], 1
mov dword [esp + 0x20], edi
jmp 0x48e03c
movsx edi, byte [edx + 0x4b6287]
lea ecx, [edx - 1]
and ecx, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], ecx
lea eax, [esi + 2]
movsx ecx, byte [edx + 0x4b627f]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x48e03c
mov dword [esp + 0x24], SysStringLen
movzx esi, word [eax]
lea edx, [eax + 2]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edx
cmp esi, 0x10
je 0x48e05d
cmp esi, 0xf
je 0x48e05d
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x48e083
movzx ecx, word [edx]
xor eax, eax
cmp esi, 0xf
mov dword [esp + 0x2c], ecx
sete al
mov dword [esp + 0x34], eax
lea eax, [edx + 2]
movzx edx, word [eax]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x40], edx
test edi, edi
jle 0x48ecf0
test eax, eax
js 0x48e5e8
cmp eax, 8
ja case.default.0x48c909
jmp dword [eax*4 + 0x492584]
cmp dword [esp + 0x34], 0
jne case.0x48aced.151
mov esi, dword [ebp + 0x7c]
mov edx, 1
mov ecx, ebx
cmp ebx, esi
jae 0x491d33
mov ax, word [ebx]
mov ebx, 0xfc00
and ax, bx
xor ebx, ebx
cmp ax, word [esp + 0x50]
sete bl
inc edx
lea ebx, [ebx*2 + 2]
add ebx, ecx
cmp edx, edi
jle 0x48e0b6
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e12c
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
mov al, byte [eax*8 + 0x4c2849]
cmp al, 9
je 0x48e15f
cmp al, 5
je 0x48e15f
cmp al, 8
je 0x48e15f
xor eax, eax
jmp 0x48e164
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48e0f4
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e1bc
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], ebp
mov ebp, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48e184
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax + eax]
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e258
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
mov ebp, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48e220
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e2e8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
mov ebp, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2848]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48e2b0
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e378
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48e3b1
cmp eax, 3
je 0x48e3b1
xor eax, eax
jmp 0x48e3b6
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48e340
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
nop
cmp ebx, edi
jae 0x490770
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e418
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x48e460
cmp edx, 9
je 0x48e460
cmp edx, 0xa
je 0x48e460
cmp edx, 0xc
je 0x48e460
cmp edx, 0xd
je 0x48e460
xor eax, eax
jmp 0x48e465
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
inc esi
cmp esi, ebp
jle 0x48e3e0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x490770
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e4c9
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 + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x48e516
cmp edx, 9
je 0x48e516
cmp edx, 0xa
je 0x48e516
cmp edx, 0xb
je 0x48e516
cmp edx, 0xc
je 0x48e516
cmp edx, 0xd
je 0x48e516
xor eax, eax
jmp 0x48e51b
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
inc esi
cmp esi, ebp
jle 0x48e491
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x490770
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e587
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48e5c7
cmp eax, 3
je 0x48e5c7
cmp edx, 0x5f
je 0x48e5c7
xor eax, eax
jmp 0x48e5cc
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
inc esi
cmp esi, ebp
jle 0x48e547
mov edi, dword [esp + 0x20]
jmp 0x48eceb
cmp esi, 0x16
jne 0x48e703
lea ebp, [esi - 0x15]
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e642
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
je case.0x48aced.151
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x48e6f1
mov edi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e6b6
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
jne 0x48e6ed
lea ebx, [edi + edx*2]
mov edi, ebx
cmp ebx, esi
jb 0x48e681
mov edi, dword [esp + 0x20]
inc ebp
cmp ebp, edi
jle 0x48e600
mov dword [esp + 0x18], ebx
jmp 0x48eceb
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x48c909
jmp dword [eax*4 + 0x4925a8]
mov ecx, dword [ebp + 0x7c]
mov esi, 1
nop
cmp ebx, ecx
jae 0x491d33
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x48e74a
push 1
push eax
push ecx
mov ecx, ebx
call fcn.00493900
add esp, 0xc
test eax, eax
jne case.0x48aced.151
jmp 0x48e775
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x48e775
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x48e775
cmp edx, 1
je case.0x48aced.151
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.0x48aced.151
mov ecx, dword [ebp + 0x7c]
add ebx, 2
cmp ebx, ecx
jae 0x48e797
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48e797
add ebx, 2
inc esi
cmp esi, edi
jle 0x48e720
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov edx, dword [ebp + 0x7c]
mov ecx, 1
nop dword [eax]
cmp ebx, edx
jae 0x491d33
add ebx, 2
cmp ebx, edx
jae 0x48e7d1
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x48e7d1
add ebx, 2
inc ecx
cmp ecx, edi
jle 0x48e7b0
mov dword [esp + 0x18], ebx
jmp 0x48ecf0
mov eax, dword [ebp + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp ebx, eax
ja case.0x48aced.151
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x48ecf0
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x490770
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e83e
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
cmp ecx, 0xd
ja 0x48e867
je 0x48e856
cmp ecx, 0xa
je 0x48e84f
lea eax, [ecx - 0xb]
jmp 0x48e875
mov ebx, edx
jmp 0x48e891
mov ebx, edx
cmp edx, edi
jae 0x48e891
cmp word [edx], 0xa
jne 0x48e891
lea ebx, [edx + 2]
jmp 0x48e891
cmp ecx, 0x85
je 0x48e87e
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x48aced.151
mov eax, dword [esp + 0x174]
mov ebx, edx
cmp dword [eax + 0x68], 0
jne case.0x48aced.151
inc esi
cmp esi, ebp
jle 0x48e806
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e8e8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x180e
ja 0x48e91d
je case.0x48aced.151
cmp ecx, 0xa0
ja 0x48e915
je case.0x48aced.151
cmp ecx, 9
je case.0x48aced.151
cmp ecx, 0x20
jmp 0x48e94d
cmp ecx, 0x1680
jmp 0x48e94d
cmp ecx, 0x205f
ja 0x48e947
je case.0x48aced.151
cmp ecx, 0x2000
jb 0x48e953
cmp ecx, 0x200a
jbe case.0x48aced.151
cmp ecx, 0x202f
jmp 0x48e94d
cmp ecx, 0x3000
je case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48e8b0
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48e9a8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x180e
ja 0x48e9dd
je 0x48ea0f
cmp ecx, 0xa0
ja 0x48e9d5
je 0x48ea0f
cmp ecx, 9
je 0x48ea0f
cmp ecx, 0x20
jmp 0x48ea09
cmp ecx, 0x1680
jmp 0x48ea09
cmp ecx, 0x205f
ja 0x48ea03
je 0x48ea0f
cmp ecx, 0x2000
jb case.0x48aced.151
cmp ecx, 0x200a
jbe 0x48ea0f
cmp ecx, 0x202f
jmp 0x48ea09
cmp ecx, 0x3000
jne case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48e970
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ea68
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 0x48ea80
je case.0x48aced.151
cmp ecx, 0xa
jb 0x48ea94
cmp ecx, 0xd
jmp 0x48ea8e
cmp ecx, 0x2028
jb 0x48ea94
cmp ecx, 0x2029
jbe case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48ea30
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop word [eax + eax]
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48eae8
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 0x48eafa
je 0x48eb09
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x48eb03
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48eab0
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48eb58
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 0x48eb6d
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.0x48aced.151
inc edx
cmp edx, edi
jle 0x48eb20
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x491d33
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.0x48aced.151
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.0x48aced.151
inc edx
add ebx, 2
cmp edx, edi
jle 0x48eb83
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x491d33
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x48ebe8
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.0x48aced.151
add ebx, 2
cmp ebx, esi
jae 0x48ec07
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48ec07
add ebx, 2
inc edx
cmp edx, edi
jle 0x48ebc4
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x491d33
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.0x48aced.151
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.0x48aced.151
inc edx
add ebx, 2
cmp edx, edi
jle 0x48ec20
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x491d33
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x48ec85
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x48aced.151
add ebx, 2
cmp ebx, esi
jae 0x48eca4
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48eca4
add ebx, 2
inc edx
cmp edx, edi
jle 0x48ec61
mov dword [esp + 0x18], ebx
jmp 0x48eceb
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x491d33
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.0x48aced.151
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.0x48aced.151
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x48ecb7
mov esi, dword [esp + 0x1c]
nop
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x48acb4
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x2c]
jne 0x490eb0
mov ebp, ebx
mov dword [esp + 0x28], ebp
test eax, eax
js 0x48f38a
cmp eax, 8
ja case.default.0x48c909
jmp dword [eax*4 + 0x4925e8]
mov ecx, dword [esp + 0x174]
cmp edi, edx
jge 0x48f36f
mov edx, dword [ecx + 0x7c]
mov esi, 0xd800
cmp ebx, edx
jae 0x48ed7b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x48f368
xor eax, eax
cmp cx, si
sete al
inc edi
lea ebx, [ebx + eax*2]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48ed40
jmp 0x48f368
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x48f36f
cmp ebx, dword [ecx + 0x88]
jbe 0x48f36f
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x48f36f
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48ed7b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48edfc
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
mov al, byte [eax*8 + 0x4c2849]
cmp al, 9
je 0x48ee2f
cmp al, 5
je 0x48ee2f
cmp al, 8
je 0x48ee2f
xor eax, eax
jmp 0x48ee34
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x48f368
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48edc3
jmp 0x48f368
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48ed7b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48eea4
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], ebp
mov ebp, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x48f368
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48ee67
jmp 0x48f368
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x48ed7b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ef4d
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 + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x48f368
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48ef10
jmp 0x48f368
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x48ed7b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48efed
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 + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2848]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x48f368
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48efb0
jmp 0x48f368
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x48ed7b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f08d
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48f0c6
cmp eax, 3
je 0x48f0c6
xor eax, eax
jmp 0x48f0cb
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x48f368
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48f050
jmp 0x48f368
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
mov esi, 1
cmp ebx, edi
jae 0x48f1b7
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f141
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 + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x48f189
cmp edx, 9
je 0x48f189
cmp edx, 0xa
je 0x48f189
cmp edx, 0xc
je 0x48f189
cmp edx, 0xd
je 0x48f189
xor eax, eax
jmp 0x48f18e
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x48f368
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x48f100
jmp 0x48f368
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x48f36f
cmp ebx, dword [ecx + 0x88]
jbe 0x48f36f
mov dword [ecx + 0x64], esi
cmp eax, 1
jg 0x491d5d
jmp 0x48f36f
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x48f1b7
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f239
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 + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x48f286
cmp edx, 9
je 0x48f286
cmp edx, 0xa
je 0x48f286
cmp edx, 0xb
je 0x48f286
cmp edx, 0xc
je 0x48f286
cmp edx, 0xd
je 0x48f286
xor eax, eax
jmp 0x48f28b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x48f368
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x48f200
jmp 0x48f368
cmp edi, edx
jge 0x48f368
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp ebx, edi
jae 0x48ed7b
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f303
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 + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x48f343
cmp eax, 3
je 0x48f343
cmp edx, 0x5f
je 0x48f343
xor eax, eax
jmp 0x48f348
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x48f368
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x48f2c6
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
mov esi, dword [esp + 0x14]
je 0x490dd3
mov ebp, dword [esp + 0x174]
jmp 0x48acbf
cmp esi, 0x16
jne 0x48f5be
cmp edi, edx
mov edi, dword [esp + 0x174]
jge 0x48f4e2
mov ebp, dword [edi + 0x7c]
cmp ebx, ebp
jae 0x48f4bc
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f3e2
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
je 0x48f4de
mov edi, dword [edi + 0x7c]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebx, edi
jae 0x48f4a0
mov esi, ebx
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f465
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
jne 0x48f49c
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x48f430
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x174]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x48f3a5
jmp 0x48f4de
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x48f4de
cmp ebx, dword [edi + 0x88]
jbe 0x48f4de
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x491d5d
mov ebp, dword [esp + 0x28]
cmp dword [esp + 0x38], 0
jne 0x48acb4
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.0x48aced.151
mov ebp, 0xdc00
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and ecx, 0xfc00
movzx edi, cx
cmp cx, bp
jne 0x48f550
movzx eax, word [edx - 2]
lea ebx, [edx - 2]
cmp di, bp
movzx ecx, ax
lea esi, [edx - 2]
mov eax, ecx
cmovne esi, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f584
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
jne 0x490e66
lea ebx, [esi - 2]
jmp 0x48f534
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x48c909
jmp dword [eax*4 + 0x49260c]
cmp edx, 0x7fffffff
jge 0x48f6bd
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop
cmp ebx, ecx
jae 0x48f697
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x48f61d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.00493900
add esp, 0xc
test eax, eax
jne 0x48fa39
jmp 0x48f64f
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x48f64f
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x48f64f
cmp edx, 1
je 0x48fa39
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x48fa39
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x48f687
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x48f687
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x48f5f0
jmp 0x48fa39
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x48fa39
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x88]
jbe 0x48fa39
jmp 0x48f7f4
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x48f697
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x48f6f0
push 1
push eax
push ecx
mov ecx, ebx
call fcn.00493900
add esp, 0xc
test eax, eax
jne 0x48fa39
jmp 0x48f722
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x48f722
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x48f722
cmp edx, 1
je 0x48fa39
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x48fa39
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x48f75e
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x48f75e
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x48f6c7
jmp 0x48fa39
cmp edx, 0x7fffffff
jge 0x48f7cc
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, ecx
jae 0x48f7c3
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, ecx
jae 0x48f7b9
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x48f7b9
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, edx
jl 0x48f790
jmp 0x48fa39
mov ecx, dword [esp + 0x174]
jmp 0x48f7da
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x48fa40
cmp ebx, dword [ecx + 0x88]
jbe 0x48fa40
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x48fa40
sub edx, edi
mov edi, dword [esp + 0x174]
mov ecx, dword [edi + 0x7c]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x48f839
mov eax, dword [edi + 0x8c]
mov ebx, ecx
mov dword [esp + 0x18], ebx
test eax, eax
je 0x48f840
cmp ecx, dword [edi + 0x88]
mov ecx, edi
jmp 0x48f7ee
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x48fa40
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, edx
jae 0x48f91f
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f89a
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x48f89f
mov eax, 2
cmp ecx, 0xd
jne 0x48f8c5
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, edx
jae 0x48fa39
cmp word [ebx], 0xa
jne 0x48f90f
add ebx, 2
jmp 0x48f90b
cmp ecx, 0xa
je 0x48f909
mov ebp, dword [esp + 0x174]
cmp dword [ebp + 0x68], 0
mov ebp, dword [esp + 0x28]
jne 0x48fa39
cmp ecx, 0xb
je 0x48f909
cmp ecx, 0xc
je 0x48f909
cmp ecx, 0x85
je 0x48f909
cmp ecx, 0x2028
je 0x48f909
cmp ecx, 0x2029
jne 0x48fa39
add ebx, eax
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x48f860
jmp 0x48fa39
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x48fa40
cmp ebx, dword [ecx + 0x88]
jbe 0x48fa40
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x48fa40
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x48fb01
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48f9ad
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, 0x180e
ja 0x48f9e2
je 0x48fa10
cmp ecx, 0xa0
ja 0x48f9da
je 0x48fa10
cmp ecx, 9
je 0x48fa10
cmp ecx, 0x20
jmp 0x48fa0a
cmp ecx, 0x1680
jmp 0x48fa0a
cmp ecx, 0x205f
ja 0x48fa04
je 0x48fa10
cmp ecx, 0x2000
jb 0x48fa0c
cmp ecx, 0x200a
jbe 0x48fa10
cmp ecx, 0x202f
jmp 0x48fa0a
cmp ecx, 0x3000
je 0x48fa10
xor ecx, ecx
jmp 0x48fa15
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0x12
sete al
cmp ecx, eax
je 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48f970
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x48acb4
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
lea ecx, [ebx - 2]
cmp ebx, ebp
je case.0x48aced.151
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48faa5
add ecx, 0xfffffffe
mov ebx, ecx
cmp esi, 0x11
jne 0x48fac1
cmp ecx, ebp
jbe 0x48fac1
cmp word [ecx], 0xa
jne 0x48fac1
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
cmove ebx, eax
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x48fa82
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 0x48fb26
cmp ebx, dword [ecx + 0x88]
jbe 0x48fb26
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x491d5d
mov esi, dword [esp + 0x1c]
jmp 0x48fa40
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48fbcf
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48fb7e
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 0x48fbbd
je 0x48fbc8
cmp ecx, 0xa
jb 0x48fb96
cmp ecx, 0xd
jbe 0x48fbc8
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x1c], 0x14
sete al
cmp ecx, eax
je 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48fb41
jmp 0x48fa35
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x48fb96
mov ecx, 1
jmp 0x48fb98
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x48fb26
cmp ebx, dword [ecx + 0x88]
jbe 0x48fb26
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x491d5d
mov esi, dword [esp + 0x1c]
jmp 0x48fa40
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x48fbcf
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48fc59
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 0x48fc75
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48fc20
jmp 0x48fa35
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x48fbcf
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48fcdd
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 0x48fa35
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48fca0
jmp 0x48fa35
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48fbcf
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48fd5f
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 0x48fd7b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48fd22
jmp 0x48fa35
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48fbcf
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48fddd
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 0x48fa35
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48fda0
jmp 0x48fa35
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48fbcf
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48fe5f
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 0x48fe7b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48fe22
jmp 0x48fa35
cmp edi, edx
jge 0x48fa39
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x48ff10
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48fedd
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 0x48fa35
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x48fa35
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x48fea0
jmp 0x48fa35
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x48fb26
cmp ebx, dword [ecx + 0x88]
jbe 0x48fb26
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x48fb26
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x74
mov ecx, ebx
jne 0x48ff9c
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4901bc
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x4901bc
mov eax, dword [ebp + 0x90]
mov edx, dword [esp + 0x170]
cmp eax, edx
cmovg edx, eax
movzx eax, word [esi + 6]
add eax, 2
mov dword [esp + 0x170], edx
lea eax, [esi + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
jne 0x490030
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
je 0x490011
jmp 0x490030
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jne 0x4901c0
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.0048abd0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x75
je 0x4903d2
cmp ecx, 0x74
jne 0x4900e8
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push edx
push dword [esp + 0x17c]
lea edx, [esi + 4]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x490390
mov ecx, 0x82
cmp ax, cx
jae 0x490350
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4901bc
mov eax, 0x82
cmp word [ebp], ax
jb 0x4900fd
mov dword [edi + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push edx
push dword [esp + 0x17c]
mov edx, ebp
call fcn.0048abd0
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x490131
cmp dword [edi + 0xb8], ebp
jmp 0x490133
test eax, eax
jne 0x4901d5
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4903ce
mov ebp, dword [esp + 0x174]
jmp 0x4901c0
movzx edx, word [esi + 4]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x2c], edx
lea ebp, [edx + edx]
cmp ebp, dword [esi + 0x14]
jl 0x491d6d
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
cmp edx, 0x82
jae 0x4901e0
cmp edx, 0x7b
je 0x4901e0
cmp dword [ebp + 0x6c], 0
jne 0x4901ea
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x4901ea
movzx eax, word [esi]
movzx eax, byte [eax + 0x4b6ae0]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x48ac71
inc eax
mov dword [ebp], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [ebp + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
mov esi, dword [ebp + 0xb0]
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ebp
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4b6ae0]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.0048abd0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x490259
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebp + 0x80], eax
jae 0x491f32
cmp word [edi], 0x71
je 0x490261
cmp word [eax], 0x71
jne 0x491f32
jmp 0x490261
test edx, edx
jne 0x491ee7
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.0x48aced.151
mov edx, dword [esp + 0x20]
jmp 0x490181
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi + 2]
add ecx, eax
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x4902cf
cmp eax, 0xfffffc1d
je 0x4902cf
cmp eax, 0xfffffc20
jne 0x4901d5
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 + 0x5c]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x490310
push eax
call fcn.00497f48
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 [edi + 0x84], ebx
mov dword [edi + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [edi + 0x9c], 2
mov edx, ebp
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, ebp
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x49041b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, esi
jmp 0x490392
mov dword [edi + 0x84], ebx
mov eax, 0xfffffc1b
mov dword [edi + 0x90], edx
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 edi
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov dword [edi + 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 + 0x170]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x90], ecx
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0x80], ecx
mov eax, 1
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.0x48aced.151
cmp ebx, dword [ecx + 0x7c]
jb case.0x48aced.151
cmp ebx, dword [ecx + 0x88]
jbe case.0x48aced.151
mov dword [ecx + 0x64], 1
jmp 0x491d54
mov edi, ebx
cmp esi, eax
jge 0x490511
nop dword [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.0048aa20
add esp, 0xc
test eax, eax
js 0x4904db
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x28]
inc esi
cmp esi, dword [esp + 0x3c]
jl 0x4904b0
jmp 0x490509
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x490509
cmp ebx, dword [ecx + 0x7c]
jb 0x490509
cmp ebx, dword [ecx + 0x88]
jbe 0x490509
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x491d5d
cmp ebx, edi
jb case.0x48aced.151
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x490511
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.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jb case.0x48aced.151
cmp ebx, dword [esi + 0x88]
jbe case.0x48aced.151
mov dword [esi + 0x64], 1
jmp 0x491d54
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.0x48aced.151
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
inc esi
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.0048abd0
add esp, 0x14
test eax, eax
je 0x48cee6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp esi, edi
jge 0x490664
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, edi
jae 0x49073a
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49064d
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 0x490701
cmp dword [esp + 0x20], 0x6a
jne 0x490721
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.0x48aced.151
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4906c7
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.0048abd0
add esp, 0x14
test eax, eax
je 0x4906a2
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 + 0x3c]
test byte [edx + ecx], al
je 0x490664
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, ecx
jl 0x490610
jmp 0x490664
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x49066b
cmp ebx, dword [esi + 0x88]
jbe 0x49066b
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x49066b
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.0x48aced.151
jmp 0x490486
mov ebp, ebx
cmp edi, esi
jge 0x490801
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x49089f
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4907e5
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.00493a80
add esp, 4
test eax, eax
je 0x490801
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x3c]
jl 0x4907a0
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.0x48aced.151
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x490865
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.0048abd0
add esp, 0x14
test eax, eax
je 0x490840
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x490808
cmp ebx, dword [esi + 0x88]
jbe 0x490808
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x491d5d
jmp 0x490808
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x48aced.151
cmp ebx, ecx
jb case.0x48aced.151
jmp 0x491d41
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp esi, edi
jge case.0x48aced.151
mov ecx, dword [esp + 0x3c]
mov ebp, dword [ebp + 0x7c]
mov eax, ebp
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4909a8
mov edx, dword [esp + 0x28]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x490962
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49096b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x490951
cmp esi, 0xfffffffc
je 0x490a28
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4909a8
cmp esi, 0xfffffffd
je 0x490a28
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4909a8
cmp esi, 0xfffffffe
je 0x490a28
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4909a8
cmp esi, 0xffffffff
je 0x490a28
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x490a28
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x490a7e
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x490a7e
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4909e2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4909eb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4909d1
cmp esi, 0xfffffffc
je 0x490a28
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x490a7e
cmp esi, 0xfffffffd
je 0x490a28
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x490a7e
cmp esi, 0xfffffffe
je 0x490a28
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x490a7e
cmp esi, 0xffffffff
je 0x490a28
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x490a7e
mov eax, dword [esp + 0x17c]
add ebx, edi
mov ebp, dword [esp + 0x174]
inc eax
mov esi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc esi
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x24], esi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
mov edi, dword [esp + 0x38]
add esp, 0x14
test eax, eax
je 0x490925
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.0x48aced.151
cmp ebx, ebp
jmp 0x490480
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp ebp, dword [esp + 0x24]
jge case.0x48aced.151
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x490777
movzx eax, word [ebx]
cmp esi, eax
je 0x490afe
cmp edi, eax
jne case.0x48aced.151
mov eax, dword [esp + 0x17c]
add ebx, 2
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x490ad5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.0x48aced.151
cmp ebx, dword [edi + 0x88]
jbe case.0x48aced.151
mov dword [edi + 0x64], 1
jmp 0x491d54
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop dword [eax]
cmp ebp, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [edi + 0x7c]
jae 0x490b3e
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x490ba0
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.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp ebp, dword [esp + 0x20]
jge case.0x48aced.151
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x490cd4
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x490c83
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp esi, ecx
je case.0x48aced.151
cmp edi, ecx
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc ebp
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x490c35
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.0x48aced.151
cmp ebx, dword [edx + 0x88]
jbe case.0x48aced.151
mov dword [edx + 0x64], 1
jmp 0x491d54
mov eax, dword [esp + 0x17c]
mov edx, ecx
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop dword [eax]
cmp ebp, dword [esp + 0x20]
jge case.0x48aced.151
cmp ebx, dword [edi + 0x7c]
jae 0x490b3e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x490d77
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp esi, ecx
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x490d30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.0x48aced.151
jmp 0x49057b
mov eax, dword [esp + 0x17c]
mov edx, esi
mov edi, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.0x48aced.151
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x490e2c
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.0048abd0
add esp, 0x14
test eax, eax
je 0x490e07
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.0048abd0
mov ebp, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x48f522
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x491809
cmp eax, 8
ja case.default.0x48c909
jmp dword [eax*4 + 0x49264c]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop word [eax + eax]
mov ecx, ebx
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x490f3a
lea ebx, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x490f10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491007
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
mov al, byte [eax*8 + 0x4c2849]
cmp al, 9
je 0x49103a
cmp al, 5
je 0x49103a
cmp al, 8
je 0x49103a
xor eax, eax
jmp 0x49103f
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x490fc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49110d
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edx, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], edx
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x4910c6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491217
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x4911d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491317
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2848]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x4912d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491417
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x491450
cmp eax, 3
je 0x491450
xor eax, eax
jmp 0x491455
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x4913d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491527
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x491577
cmp edx, 9
je 0x491577
cmp edx, 0xa
je 0x491577
cmp edx, 0xc
je 0x491577
cmp edx, 0xd
je 0x491577
xor eax, eax
jmp 0x49157c
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x4914e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49164a
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 6
je 0x4916a3
cmp edx, 9
je 0x4916a3
cmp edx, 0xa
je 0x4916a3
cmp edx, 0xb
je 0x4916a3
cmp edx, 0xc
je 0x4916a3
cmp edx, 0xd
je 0x4916a3
xor eax, eax
jmp 0x4916a8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x491603
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
jne 0x4901d5
nop
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
cmp ebx, dword [esi + 0x7c]
jae 0x490dc0
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491777
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c3928]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
mov eax, dword [eax*4 + 0x4b6a68]
cmp eax, 1
je 0x4917bb
cmp eax, 3
je 0x4917bb
cmp edx, 0x5f
je 0x4917bb
xor eax, eax
jmp 0x4917c0
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x491730
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
cmp esi, 0x16
jne 0x49198e
test eax, eax
jne 0x4901d5
nop
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x491d33
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491899
movzx eax, word [ebx]
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
je case.0x48aced.151
cmp ebx, edi
jae 0x491945
mov esi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49190e
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 + 0x4c3928]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b6f48]
movzx eax, byte [eax*8 + 0x4c2849]
cmp dword [eax*4 + 0x4b6a68], 2
jne 0x491945
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4918d5
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x14]
inc edi
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x28], edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x491850
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4901d5
cmp edi, dword [esp + 0x24]
jge case.0x48aced.151
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x491d33
cmp esi, 0xc
jne 0x491a10
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4919dd
push 1
push eax
push ecx
mov ecx, ebx
call fcn.00493900
add esp, 0xc
test eax, eax
jne case.0x48aced.151
jmp 0x491a10
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x491a10
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x491a10
cmp edx, 1
je case.0x48aced.151
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.0x48aced.151
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x491a44
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x48c909
jmp dword [eax*4 + 0x492670]
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0xd
ja 0x491a93
je 0x491a76
cmp ecx, 0xa
je case.0x491a50.12
lea eax, [ecx - 0xb]
jmp 0x491aa1
mov ebx, edx
cmp edx, dword [ebp + 0x7c]
jae 0x491ce2
cmp word [edx], 0xa
jne 0x491ce2
lea ebx, [edx + 2]
jmp 0x491ce2
cmp ecx, 0x85
je 0x491aaa
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x48aced.151
cmp dword [ebp + 0x68], 0
mov ebx, edx
jne case.0x48aced.151
jmp 0x491ce2
cmp ecx, 0x180e
ja 0x491af7
je case.0x48aced.151
cmp ecx, 0xa0
ja 0x491aec
je case.0x48aced.151
cmp ecx, 9
je case.0x48aced.151
cmp ecx, 0x20
jmp 0x491b2f
cmp ecx, 0x1680
jmp 0x491b2f
cmp ecx, 0x205f
ja 0x491b29
je case.0x48aced.151
cmp ecx, 0x2000
jb case.0x491a50.12
cmp ecx, 0x200a
jbe case.0x48aced.151
cmp ecx, 0x202f
jmp 0x491b2f
cmp ecx, 0x3000
je case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x180e
ja 0x491b78
je case.0x491a50.12
cmp ecx, 0xa0
ja 0x491b6d
je case.0x491a50.12
cmp ecx, 9
je case.0x491a50.12
cmp ecx, 0x20
jmp 0x491bb0
cmp ecx, 0x1680
jmp 0x491bb0
cmp ecx, 0x205f
ja 0x491baa
je case.0x491a50.12
cmp ecx, 0x2000
jb case.0x48aced.151
cmp ecx, 0x200a
jbe case.0x491a50.12
cmp ecx, 0x202f
jmp 0x491bb0
cmp ecx, 0x3000
jne case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x85
ja 0x491bdc
je case.0x48aced.151
cmp ecx, 0xa
jb case.0x491a50.12
cmp ecx, 0xd
jmp 0x491bee
cmp ecx, 0x2028
jb case.0x491a50.12
cmp ecx, 0x2029
jbe case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x85
ja 0x491c11
je case.0x491a50.12
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x491c1a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x100
jae case.0x491a50.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x100
jae case.0x48aced.151
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x100
jae case.0x491a50.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x100
jae case.0x48aced.151
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x100
jae case.0x491a50.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x48aced.151
mov ebx, edx
jmp 0x491ce2
cmp ecx, 0x100
jae case.0x48aced.151
mov eax, dword [ebp + 0x3c]
mov ebx, edx
test byte [ecx + eax], 0x10
je case.0x48aced.151
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x491996
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 [ebp + 0x8c]
test eax, eax
je case.0x48aced.151
cmp ebx, dword [ebp + 0x88]
jbe case.0x48aced.151
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x48aced.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + ebp*4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + ebp*4 + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, edx
mov edx, esi
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
mov esi, dword [edx + 0x94]
mov edi, dword [edx + 0xb0]
sar eax, 1
mov dword [ecx], eax
nop dword [eax]
nop dword [eax + eax]
cmp dword [esp + 0x20], 0x82
jb 0x491dc8
mov dword [edx + 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 edx
movzx eax, byte [eax + 0x4b6ae0]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.0048abd0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x491ea6
cmp edx, 0xfffffc20
jne 0x491e5c
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x491eda
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x491e55
cmp word [eax], 0x71
jne 0x491eda
xor edx, edx
jmp 0x491e6b
test edx, edx
jne 0x491eda
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x94], esi
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xb0], edi
cmp word [eax], 0x71
jne 0x491ead
mov edx, ecx
jmp 0x491db0
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov dword [eax + ebp*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x44]
mov dword [eax + ebp*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0xc]
mov dword [eax + ecx*4], esi
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edx, 0xfffffc1c
jne 0x491f32
movzx eax, word [edi]
cmp eax, 0x7b
je 0x491f27
cmp eax, 0x71
jne 0x491f1e
nop dword [eax + eax]
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x491f10
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
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 + 0x4b6ae0]
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.0048abd0
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x491fa5
cmp esi, 0xfffffc19
jne 0x491fc5
cmp dword [ebp + 0xb0], 0
jne 0x491fc5
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x490310
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.00493870
test eax, eax
jne 0x490310
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 + 0x4b6ae0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x492061
cmp eax, 0xfffffc1d
je 0x492061
cmp eax, 0xfffffc1e
je 0x492061
cmp eax, 0xfffffc1f
je 0x492061
cmp eax, 0xfffffc20
jne 0x4901d5
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 + 0x4b6ae0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x49214f
cmp eax, 0xfffffc20
je 0x49214f
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 + 0x4b6ae0]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.0048abd0
add esp, 0x14
cmp eax, 1
je 0x492129
cmp eax, 0xfffffc19
jne 0x49213c
cmp dword [ebp + 0xb0], 0
jne 0x49213c
mov dword [ebp + 0xb0], esi
test eax, eax
je 0x49214f
cmp eax, 0xfffffc20
jne 0x4901d5
mov eax, 0xfffffc1d
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 + 0x4b6ae0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x4921b0
cmp eax, 0xfffffc1d
je 0x4921b0
cmp eax, 0xfffffc20
jne 0x4901d5
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 + 0x4b6ae0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.0048abd0
add esp, 0x14
test eax, eax
je 0x492292
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 + 0x4b6ae0]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.0048abd0
add esp, 0x14
cmp eax, 1
je 0x492273
cmp eax, 0xfffffc19
jne 0x492286
cmp dword [ebp + 0xb0], 0
jne 0x492286
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x4901d5
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 0x4922f8
cmp edx, 0x99
je 0x4922f8
cmp dword [ebp + 0xa8], 0
jne 0x4922f8
cmp dword [ebp + 0x5c], 0
jne case.0x48aced.151
cmp dword [ebp + 0x60], 0
je 0x4922f8
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.0x48aced.151
mov eax, dword [esp + 0x170]
test di, di
mov dword [ebp + 0x84], ebx
mov ecx, 1
mov dword [ebp + 0x90], eax
mov eax, 0xfffffc19
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