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

Disassembly:
sub esp, 0x158
mov dword [esp], edx
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x10], esi
push edi
test edx, edx
jne 0x4ad7db
cmp dword [esp + 0x17c], edx
jne 0x4ad7c0
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004ad780
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esp + 0x17c]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jae 0x4b2e3e
mov dword [esp + 0x64], 0xfc00
mov dword [esp + 0x68], 0xdc00
mov dword [esp + 0x44], connect
mov dword [esp + 0x4c], 0xd800
nop dword [eax]
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [edi + 8]
jae 0x4b4fb1
cmp dword [edi + 0x9c], 2
jne 0x4ad880
mov eax, dword [esp + 0x178]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x70], esi
mov dword [esp + 0x178], eax
mov dword [edi + 0x9c], 0
jmp 0x4ad880
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x10]
jmp 0x4ad887
je case.0x4ad8b9.151
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x170]
movzx ecx, word [edx]
mov dword [esp + 0x28], edx
mov ebp, ecx
mov edx, ecx
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], edx
cmp edx, 0x9b
ja case.0x4ad8b9.98
movzx eax, byte [edx + 0x4b510c]
jmp dword [eax*4 + 0x4b4fc4]
cmp dword [edi + 0x70], 0
movzx ecx, byte [edx + 0x4cd330]
je 0x4b2f0c
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*2]
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edx, dword [esp + 0x10]
mov ebx, esi
mov edi, dword [edi + 0xb0]
mov ebp, edx
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
cmp eax, 1
je 0x4ad9f7
cmp eax, 0xfffffc20
jne 0x4ad968
mov edx, dword [esp + 0x10]
movzx ecx, word [edx + 2]
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], ecx
jae 0x4b2e46
mov edx, dword [esp + 0x10]
cmp word [edx], 0x71
je 0x4ad974
cmp word [ecx], 0x71
jne 0x4b2e46
jmp 0x4ad974
test eax, eax
jne 0x4b2e46
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 2]
lea edx, [edx + eax*2]
mov eax, dword [esp + 0x174]
mov dword [esp + 0x10], edx
mov dword [eax + 0xb0], edi
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x71
je 0x4ad8f2
mov edi, dword [esp + 0x174]
movzx eax, cx
cmp eax, 0x7c
je 0x4ad9b2
cmp eax, 0x71
jne case.0x4ad8b9.151
movzx eax, word [edx + 2]
lea edx, [edx + eax*2]
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x71
je 0x4ad9b2
mov eax, dword [edi + 0x90]
mov esi, dword [edi + 0x84]
mov dword [esp + 0x10], edx
mov dword [esp + 0x170], eax
mov dword [esp + 0x14], esi
cmp ecx, 0x72
je 0x4ad9eb
cmp esi, ebx
jne 0x4b2b90
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x80]
movzx ecx, word [edx]
mov dword [esp + 0x16c], eax
jmp 0x4ad9a1
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x28], ebp
jmp 0x4ae54c
mov ebp, dword [esp + 0x10]
cmp word [ebp + 4], 0x70
movzx edi, word [ebp + 2]
jne 0x4adb1f
mov ecx, dword [0x4e72e0]
test ecx, ecx
je 0x4adb18
mov dword [esp + 0xb8], 2
movzx eax, word [ebp + 6]
mov ebp, dword [esp + 0x174]
mov dword [esp + 0xbc], eax
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc0], eax
mov eax, dword [ebp + 0x78]
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x7c]
sub eax, dword [ebp + 0x78]
sar eax, 1
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x16c]
sub eax, dword [ebp + 0x78]
sar eax, 1
mov dword [esp + 0xcc], eax
mov eax, esi
sub eax, dword [ebp + 0x78]
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 ecx
add esp, 4
test eax, eax
jg case.0x4ad8b9.151
js 0x4b2e46
mov ebp, dword [esp + 0x10]
add ebp, 0xc
mov dword [esp + 0x10], ebp
movzx ecx, word [ebp + 4]
lea edx, [ebp + 4]
cmp ecx, 0x89
je 0x4adcf3
cmp ecx, 0x8a
je 0x4adcf3
cmp ecx, 0x87
je 0x4adbbc
cmp ecx, 0x88
je 0x4adbbc
cmp ecx, 0x8b
jne 0x4adb68
movzx eax, word [ebp + 2]
lea ecx, [eax*2]
add ecx, ebp
jmp 0x4ade96
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x9c], 1
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push ecx
push dword [esp + 0x17c]
mov ecx, esi
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
cmp eax, 1
je 0x4b2c17
test eax, eax
je 0x4adbb5
cmp eax, 0xfffffc20
jne 0x4b2e46
xor edx, edx
jmp 0x4ade83
movzx edi, word [ebp + 6]
mov ebp, dword [esp + 0x174]
lea edx, [edi + edi]
cmp edx, dword [esp + 0x170]
jge 0x4adbe0
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4ade75
cmp ecx, 0x88
jne 0x4adce4
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x28]
mov ebx, eax
test edx, edx
jle 0x4adce4
xor ecx, ecx
mov ebp, eax
mov esi, ecx
movzx eax, word [ebx]
cmp eax, edi
je 0x4adc25
mov eax, dword [esp + 0x174]
inc esi
mov ecx, esi
mov eax, dword [eax + 0x24]
lea ebx, [eax*2]
add ebx, ebp
mov ebp, ebx
cmp esi, edx
jl 0x4adc02
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x14]
cmp ecx, edx
jge 0x4adce4
mov eax, dword [esp + 0x174]
mov edi, ebx
cmp ebx, dword [eax + 0x28]
jbe 0x4adc92
mov eax, dword [eax + 0x24]
lea ecx, [ebx + 2]
neg eax
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004b64b0
test eax, eax
jne 0x4adc8b
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4adc7d
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4ade75
mov eax, dword [esp + 0x174]
cmp edi, dword [eax + 0x28]
ja 0x4adc43
jmp 0x4adc92
mov eax, dword [esp + 0x174]
mov ebp, dword [esp + 0x2c]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4adce4
lea edi, [ebx + 2]
nop
mov eax, dword [eax + 0x24]
mov ecx, edi
lea ebx, [ebx + eax*2]
lea edx, [ebx + 2]
call fcn.004b64b0
test eax, eax
jne 0x4adce4
movzx eax, word [ebx]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4adcd7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4ade75
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x4adca0
mov ebp, dword [esp + 0x10]
xor edx, edx
movzx edi, word [ebp + 2]
jmp 0x4ade83
mov edi, dword [esp + 0x174]
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x4add16
movzx eax, word [ebp + 2]
lea ecx, [eax*2]
add ecx, ebp
jmp 0x4ade9d
movzx edi, word [ebp + 6]
cmp edi, 0xffff
je 0x4ade75
cmp edi, dword [eax + 4]
je 0x4ade75
xor edx, edx
mov dword [esp + 0x24], edx
cmp ecx, 0x8a
jne 0x4ade61
mov eax, dword [esp + 0x174]
xor ebp, ebp
mov ecx, dword [eax + 0x28]
mov ebx, ecx
mov eax, dword [eax + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x20], edx
jle 0x4ade5d
mov edx, ecx
mov esi, eax
xor ecx, ecx
nop dword [eax]
movzx eax, word [ebx]
cmp eax, edi
je 0x4add8c
mov eax, dword [esi + 0x24]
inc ebp
mov ecx, ebp
lea ebx, [edx + eax*2]
mov eax, dword [esp + 0x2c]
mov edx, ebx
cmp ebp, eax
jl 0x4add70
jmp 0x4add90
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebx
cmp ecx, eax
jge 0x4ade5d
mov eax, dword [esp + 0x174]
mov edi, ebx
cmp ebx, dword [eax + 0x28]
jbe 0x4ade0b
lea ebp, [ebx + 2]
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 0x24]
mov ecx, ebp
neg eax
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004b64b0
test eax, eax
jne 0x4addf4
mov eax, dword [esi + 0xa8]
xor ebx, ebx
movzx ecx, word [edi]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
mov dword [esp + 0x24], ebx
je 0x4addf4
cmp edi, dword [esi + 0x28]
ja 0x4addc0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x174]
test edx, edx
jne 0x4ade7a
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4ade6b
mov esi, dword [esp + 0x174]
lea edi, [ebx + 2]
nop
mov eax, dword [esi + 0x24]
mov ecx, edi
lea ebx, [ebx + eax*2]
lea edx, [ebx + 2]
call fcn.004b64b0
test eax, eax
jne 0x4ade55
mov eax, dword [esi + 0xa8]
xor edx, edx
movzx ecx, word [ebx]
mov eax, dword [eax + 4]
cmp ecx, eax
sete dl
mov dword [esp + 0x24], edx
je 0x4ade59
inc ebp
cmp ebp, dword [esi + 0x20]
jl 0x4ade20
jmp 0x4ade59
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
test edx, edx
jne 0x4ade7a
movzx edi, word [ebp + 2]
jmp 0x4ade83
mov ebp, dword [esp + 0x10]
movzx edi, word [ebp + 2]
jmp 0x4ade83
mov edx, 1
mov ebp, dword [esp + 0x10]
mov edi, 2
lea ecx, [edi*2]
add ecx, ebp
mov eax, ecx
test edx, edx
jne 0x4b2c56
mov edi, dword [esp + 0x174]
cmp word [ecx], 0x71
mov eax, ecx
je 0x4b2c5d
lea edx, [ecx + 4]
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x170]
movzx edi, word [eax + 2]
mov eax, dword [esp + 0x174]
lea edx, [edi + edi]
mov dword [eax + 0x94], edi
cmp edx, dword [eax + 0x14]
jl 0x4adef2
mov edx, dword [esp + 0x10]
mov edi, eax
add edx, 4
mov dword [esp + 0x10], edx
mov dword [edi + 0x40], 1
jmp 0x4ad887
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edi
mov edi, dword [esp + 0x174]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, esi
sub ecx, dword [edi + 0x78]
mov eax, dword [edi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp ebx, edx
jg 0x4adf23
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
mov edx, dword [esp + 0x10]
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4ad887
mov ebp, dword [esp + 0x174]
mov edi, dword [edi + 0xb0]
cmp dword [ebp + 0x9c], 1
jne 0x4adf5a
mov dword [ebp + 0x9c], 0
mov ebx, 1
jmp 0x4adf5c
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, esi
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
cmp eax, 1
je 0x4adfc5
cmp eax, 0xfffffc19
je 0x4adfc5
test eax, eax
je 0x4adfa2
cmp eax, 0xfffffc20
jne 0x4b2e46
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 2]
mov dword [ebp + 0xb0], edi
lea edx, [edx + eax*2]
movzx eax, word [edx]
mov dword [esp + 0x10], edx
mov ecx, eax
cmp eax, 0x71
je 0x4adf60
mov edi, ebp
jmp 0x4adfdb
mov edx, dword [esp + 0x10]
mov edi, ebp
mov eax, dword [edi + 0x80]
mov dword [esp + 0x16c], eax
movzx eax, word [edx]
cmp ax, 0x72
je case.0x4ad8b9.151
test ebx, ebx
jne 0x4b3016
nop dword [eax]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4adff0
mov ebx, dword [edi + 0x90]
add edx, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x170], ebx
jmp 0x4ad887
mov ebp, dword [esp + 0x174]
mov edi, dword [edi + 0xb0]
cmp dword [ebp + 0x9c], 1
jne 0x4ae03e
mov dword [ebp + 0x9c], 0
mov ebx, 1
jmp 0x4ae040
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, esi
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
mov dword [ebp + 0xb0], edi
cmp eax, 1
je case.0x4ad8b9.151
cmp eax, 0xfffffc19
je case.0x4ad8b9.151
cmp eax, 0xfffffc1e
je 0x4ae0c1
cmp eax, 0xfffffc1d
je 0x4ae0c1
cmp eax, 0xfffffc1a
je 0x4ae0c1
test eax, eax
je 0x4ae0a9
cmp eax, 0xfffffc20
jne 0x4b2e46
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x10], edx
je 0x4ae044
jmp 0x4ae0de
mov edx, dword [esp + 0x10]
nop word [eax + eax]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4ae0d0
test ebx, ebx
jne 0x4b3016
add edx, 4
mov edi, ebp
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edx, dword [esp + 0x10]
movzx ecx, word [edx + 2]
test ecx, ecx
je 0x4ae142
mov edi, dword [edi + 0x78]
mov ebx, 0xdc00
mov ebp, 0xfc00
nop dword [eax]
lea eax, [esi - 2]
mov edx, esi
mov esi, eax
dec ecx
cmp esi, edi
jb case.0x4ad8b9.151
mov ax, word [eax]
and ax, bp
cmp ax, bx
cmovne esi, edx
sub esi, 2
mov dword [esp + 0x14], esi
test ecx, ecx
jg 0x4ae110
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x10]
cmp esi, dword [edi + 0x88]
jae 0x4ae150
mov dword [edi + 0x88], esi
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov ecx, dword [0x4e72e0]
test ecx, ecx
je 0x4ae23d
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x80], 2
movzx eax, word [ebx + 2]
mov dword [esp + 0x84], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0x78]
mov dword [esp + 0x8c], eax
mov eax, dword [edi + 0x7c]
sub eax, dword [edi + 0x78]
sar eax, 1
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x16c]
sub eax, dword [edi + 0x78]
sar eax, 1
mov dword [esp + 0x94], eax
mov eax, esi
sub eax, dword [edi + 0x78]
sar eax, 1
mov dword [esp + 0x98], eax
movzx eax, word [ebx + 8]
mov dword [esp + 0xa8], eax
movzx eax, word [ebx + 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 [edi + 0x94]
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0xac]
mov dword [esp + 0xa4], eax
mov eax, dword [edi + 0xb4]
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x80]
push eax
call ecx
add esp, 4
test eax, eax
jg case.0x4ad8b9.151
js 0x4b2e46
mov edx, dword [esp + 0x10]
add edx, 0xc
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x74]
movzx eax, word [edx + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x4ae263
xor ecx, ecx
jmp 0x4ae267
movzx ecx, word [ebx + 4]
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x4ae285
cmp ecx, dword [eax + 4]
jne 0x4ae27f
cmp esi, dword [eax + 0x10]
je 0x4b2f71
mov eax, dword [eax]
test eax, eax
jne 0x4ae271
mov dword [esp + 0x54], ecx
add edx, 4
mov dword [esp + 0x60], esi
mov eax, dword [edi + 0xa8]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
mov dword [edi + 0xa8], eax
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 0x5c], ecx
cmp ecx, 0x1e
jg 0x4ae2c1
lea eax, [esp + 0xf0]
mov dword [esp + 0x58], eax
jmp 0x4ae2e2
lea eax, [ecx*4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x58], eax
test eax, eax
je 0x4b2fa7
mov ecx, dword [esp + 0x5c]
shl ecx, 2
push ecx
push dword [edi + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
movzx ebp, word [ebx]
add esp, 0xc
mov eax, 0x82
cmp bp, ax
jb 0x4ae309
mov dword [edi + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [ebx]
push edi
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4cd330]
push dword [esp + 0x17c]
lea edx, [ebx + eax*2]
call fcn.004ad780
mov ecx, dword [esp + 0x70]
add esp, 0x14
shl ecx, 2
mov edi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x5c]
push dword [eax + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [ecx + 0xa8], eax
cmp edi, 1
je 0x4ae3db
cmp edi, 0xfffffc19
je 0x4ae3db
test edi, edi
je 0x4ae38d
cmp edi, 0xfffffc20
jne 0x4b2f81
mov edi, ecx
lea eax, [esp + 0x50]
mov dword [edi + 0xa8], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x71
lea ebx, [ebx + eax*2]
je 0x4ae2f5
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xf0]
mov dword [edi + 0xa8], eax
mov eax, dword [esp + 0x58]
cmp eax, ecx
je case.0x4ad8b9.151
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4ae3f4
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edi, dword [esp + 0x174]
mov esi, dword [edi + 0x84]
mov eax, dword [edi + 0x80]
mov dword [esp + 0x14], esi
mov dword [esp + 0x16c], eax
jmp 0x4ad87c
mov edx, dword [esp + 0x10]
nop dword [eax + eax]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4ae420
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
mov ebx, dword [esp + 0x170]
add edi, 2
push eax
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
push ebx
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop dword [eax + eax]
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4ae480
lea edx, [edi + 4]
mov edi, dword [esp + 0x174]
mov dword [esp + 0x10], edx
jmp 0x4ad887
mov eax, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x10], eax
mov edx, eax
nop
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4ae4b0
mov eax, dword [esp + 0x17c]
add edx, 4
mov ebx, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, esi
push edi
push ebx
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov edx, dword [esp + 0x10]
jmp 0x4ad887
mov ecx, dword [esp + 0x10]
add ecx, 2
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
je 0x4ae503
lea edx, [ecx + 4]
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov eax, dword [esp + 0x10]
mov ebp, 1
add eax, 2
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], eax
movzx edx, word [eax]
mov dword [esp + 0x1c], edx
cmp edx, 0x80
je 0x4ae54c
cmp edx, 0x85
jne 0x4ae71d
movzx edx, word [eax + 4]
mov dword [esp + 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [edi + 0x14]
jge 0x4ae713
mov ecx, dword [edi + 0xc]
xor ebp, ebp
mov ebx, dword [esp + 0x10]
sub ebx, dword [edi + 0x74]
shl eax, 2
mov dword [esp + 0x24], eax
sar ebx, 1
mov edi, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x38], edi
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x20], eax
mov edi, dword [ecx + 0x94]
mov eax, dword [esp + 0x174]
mov edx, esi
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 + 0x1c], 0x82
mov dword [eax + ecx*4], edx
jb 0x4ae5da
mov eax, dword [esp + 0x174]
mov dword [eax + 0x9c], 2
mov ecx, dword [esp + 0x10]
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 + 0x4cd330]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004ad780
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4ae656
mov ecx, dword [esp + 0x174]
mov ebp, 1
mov eax, dword [ecx + 0x90]
mov esi, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x14], esi
lea eax, [eax + ebx*2]
mov dword [esp + 0x10], eax
jmp 0x4ae59e
cmp ecx, 0xfffffc20
jne 0x4ae695
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4ae688
mov edx, dword [esp + 0x10]
cmp word [edx], 0x71
je 0x4ae69d
cmp word [eax], 0x71
je 0x4ae69d
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x4ae688
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x94], edi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x10], edx
je 0x4ae5a4
mov edi, ecx
test ebp, ebp
jne 0x4ae6f4
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov dword [ecx + eax], edx
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax + 4], edx
mov ecx, dword [edi + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], edx
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x28], 0
jne 0x4ad9eb
test ebp, ebp
je case.0x4ad8b9.151
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
mov edi, eax
xor ebx, ebx
sub edi, dword [ecx + 0x74]
sar edi, 1
nop dword [eax]
cmp edx, 0x82
jb 0x4ae742
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4cd330]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004ad780
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4ae7bc
mov ecx, dword [esp + 0x174]
mov ebx, 1
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x90]
mov esi, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x14], esi
lea eax, [eax + edi*2]
mov dword [esp + 0x10], eax
jmp 0x4ae730
cmp ecx, 0xfffffc20
jne 0x4ae7f2
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4ae688
mov edx, dword [esp + 0x10]
cmp word [edx], 0x71
je 0x4ae7fa
cmp word [eax], 0x71
jmp 0x4ae7f4
test ecx, ecx
jne 0x4ae688
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x174]
je 0x4ae730
test ebx, ebx
jne 0x4ae82b
test ebp, ebp
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
mov edi, ecx
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edx, dword [esp + 0x10]
mov ebp, edx
movzx eax, word [edx + 2]
add eax, eax
sub ebp, eax
mov eax, 0x82
movzx ecx, word [ebp]
cmp cx, ax
jae 0x4ae868
cmp ecx, 0x7b
je 0x4ae868
mov dword [esp + 0x2c], 0
jmp 0x4ae881
mov ebx, dword [esp + 0x178]
lea eax, [ebx + 4]
mov ebx, dword [ebx]
mov eax, dword [eax]
mov dword [esp + 0x178], ebx
mov dword [esp + 0x2c], eax
cmp ecx, 0x77
jb 0x4ae88f
cmp ecx, 0x7a
jbe 0x4b2ff6
cmp ecx, 0x7c
je 0x4b2ff6
cmp ecx, 0x7f
je 0x4ae8bb
mov eax, 0x84
cmp cx, ax
je 0x4ae8bb
mov eax, 0x80
cmp cx, ax
je 0x4ae8bb
mov eax, 0x85
cmp cx, ax
jne 0x4ae8eb
movzx ebx, word [ebp + 4]
mov eax, dword [edi + 0xa8]
lea edx, [ebx + ebx]
test eax, eax
je 0x4ae8d5
cmp dword [eax + 4], ebx
je 0x4b2fb7
mov dword [edi + 0x94], ebx
cmp edx, dword [edi + 0x14]
jl 0x4ae959
mov edx, dword [esp + 0x10]
mov dword [edi + 0x40], 1
mov ebx, dword [esp + 0x170]
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x72
je 0x4ae906
cmp esi, dword [esp + 0x2c]
jne 0x4b2cb0
add edx, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x10], edx
jne 0x4ad887
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x17c]
push edi
push ebx
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov dword [edi + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x170]
cmp edx, ecx
jle 0x4ae984
mov eax, dword [edi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x4ae97d
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, ebx
mov ebx, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, esi
sub ecx, dword [edi + 0x78]
mov eax, dword [edi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp ebx, edx
jg 0x4ae9b5
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
mov edx, dword [esp + 0x10]
jmp 0x4ae8f2
cmp dword [edi + 0x44], 0
je case.0x4ad8b9.1
cmp esi, dword [edi + 0x78]
je case.0x4ad8b9.151
cmp esi, dword [edi + 0x78]
jne case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp dword [edi + 0x44], 0
je 0x4ae9f5
cmp esi, dword [edi + 0x78]
je case.0x4ad8b9.151
mov ecx, dword [edi + 0x78]
cmp esi, ecx
je 0x4ae9d6
cmp esi, dword [edi + 0x7c]
je case.0x4ad8b9.151
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4aea3d
cmp esi, ecx
jbe case.0x4ad8b9.151
push 1
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004b6660
add esp, 0xc
test eax, eax
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edi, dword [edi + 0x1c]
lea edx, [edi + edi]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x4ad8b9.151
mov ecx, esi
sub ecx, edx
mov edx, dword [esp + 0x174]
mov ax, word [ecx]
cmp ax, word [edx + 0x2c]
jne case.0x4ad8b9.151
cmp edi, 1
mov edi, edx
je 0x4ae9d6
mov ax, word [ecx + 2]
cmp ax, word [edi + 0x2e]
jne case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov ecx, dword [edi + 0x98]
mov eax, dword [edi + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
jmp 0x4ae9d0
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x16c], esi
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov ecx, dword [edi + 0x7c]
cmp esi, ecx
jae 0x4aeb23
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4aeaf0
push 1
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004b65c0
add esp, 0xc
test eax, eax
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edx, dword [edi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja case.0x4ad8b9.151
mov ax, word [esi]
cmp ax, word [edi + 0x2c]
jne case.0x4ad8b9.151
cmp edx, 1
je 0x4ae9d6
mov ax, word [esi + 2]
cmp ax, word [edi + 0x2e]
jmp 0x4ae9d0
cmp dword [edi + 0x48], 0
jne case.0x4ad8b9.151
cmp dword [edi + 0x8c], 0
je 0x4ae9d6
cmp esi, dword [edi + 0x88]
jbe 0x4ae9d6
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp dword [edi + 0x48], 0
jne case.0x4ad8b9.151
cmp dword [edi + 0x58], 0
je case.0x4ad8b9.23
cmp esi, dword [edi + 0x7c]
jb case.0x4ad8b9.151
jmp 0x4aeb2d
mov edi, dword [edi + 0x7c]
cmp esi, edi
jae 0x4aebf8
mov ebp, dword [esp + 0x174]
mov edx, dword [ebp + 0x18]
lea ebx, [ebp + 0x1c]
test edx, edx
je 0x4aebba
push 1
push ebx
push edi
mov ecx, esi
call fcn.004b65c0
add esp, 0xc
test eax, eax
je case.0x4ad8b9.151
mov edx, dword [ebx]
mov edi, dword [ebp + 0x7c]
jmp 0x4aebeb
mov edx, dword [ebx]
mov ecx, edi
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja case.0x4ad8b9.151
mov ax, word [esi]
cmp ax, word [ebp + 0x2c]
jne case.0x4ad8b9.151
cmp edx, 1
je 0x4aebeb
mov ax, word [esi + 2]
cmp ax, word [ebp + 0x2e]
jne case.0x4ad8b9.151
lea eax, [edx + edx]
sub edi, eax
cmp esi, edi
jne case.0x4ad8b9.151
mov edi, dword [esp + 0x174]
jmp 0x4aeb2d
cmp esi, dword [edi + 0x78]
je 0x4aecc7
mov ax, word [esi - 2]
lea edx, [esi - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
cmovne edx, esi
sub edx, 2
cmp edx, dword [edi + 0x88]
jae 0x4aec38
mov dword [edi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aec63
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [edi + 0x54], 0
je 0x4aecaf
cmp ecx, 0x5f
jne 0x4aec73
lea edx, [ecx - 0x5e]
jmp 0x4aecc9
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4aeca8
cmp eax, 3
jne 0x4aecc7
mov edx, 1
jmp 0x4aecc9
cmp ecx, 0x100
jae 0x4aecc7
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je 0x4aecc7
mov edx, 1
jmp 0x4aecc9
xor edx, edx
cmp esi, dword [edi + 0x7c]
jb 0x4aed1a
cmp dword [edi + 0x8c], 0
je 0x4aecf3
cmp esi, dword [edi + 0x88]
jbe 0x4aecf3
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
xor ecx, ecx
mov ebx, dword [esp + 0x10]
xor ecx, edx
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x10], ebx
cmp eax, 5
jne 0x4aed0d
xor ecx, 1
test ecx, ecx
jne case.0x4ad8b9.151
jmp 0x4ad87c
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aed45
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [edi + 0x54], 0
je 0x4aed9a
cmp ecx, 0x5f
jne 0x4aed57
mov ecx, 1
jmp 0x4aecf5
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4aed90
cmp eax, 3
jne 0x4aecf3
mov ecx, 1
jmp 0x4aecf5
cmp ecx, 0x100
jae 0x4aecf3
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je 0x4aecf3
mov ecx, 1
jmp 0x4aecf5
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x7c]
test edx, edx
je 0x4aede6
cmp esi, ecx
jae case.0x4ad8b9.13
push 1
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004b65c0
add esp, 0xc
test eax, eax
jne case.0x4ad8b9.151
jmp case.0x4ad8b9.13
mov edx, dword [edi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja case.0x4ad8b9.13
mov ax, word [esi]
cmp ax, word [edi + 0x2c]
jne case.0x4ad8b9.13
cmp edx, 1
je case.0x4ad8b9.151
mov ax, word [esi + 2]
cmp ax, word [edi + 0x2e]
je case.0x4ad8b9.151
mov eax, dword [edi + 0x7c]
cmp esi, eax
jae 0x4b3026
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, eax
jae 0x4ae9d6
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4ae9d6
mov edx, dword [esp + 0x10]
add esi, 2
add edx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
mov edx, dword [esp + 0x10]
add esi, 2
add edx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aeebd
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x100
jae 0x4ae9d6
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 4
jmp 0x4ae9d0
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aef16
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0xff
ja case.0x4ad8b9.151
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 4
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aef80
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x100
jae 0x4ae9d6
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
jmp 0x4ae9d0
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aefd9
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0xff
ja case.0x4ad8b9.151
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af043
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x100
jae 0x4ae9d6
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
jmp 0x4ae9d0
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af09c
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0xff
ja case.0x4ad8b9.151
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov edi, dword [edi + 0x7c]
cmp esi, edi
jae 0x4b3052
movzx ecx, word [esi]
lea edx, [esi + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af100
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 0x4af160
je 0x4af12e
cmp ecx, 0xa
je 0x4af111
lea eax, [ecx - 0xb]
jmp 0x4af16e
mov edi, dword [esp + 0x174]
mov esi, edx
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov esi, edx
mov dword [esp + 0x14], esi
cmp edx, edi
jae 0x4af149
cmp word [edx], 0xa
mov dword [esp + 0x14], esi
jne 0x4af149
lea esi, [edx + 2]
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x174]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp ecx, 0x85
je 0x4af177
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4ad8b9.151
mov edi, dword [esp + 0x174]
mov esi, edx
mov dword [esp + 0x14], esi
cmp dword [edi + 0x68], 0
jmp 0x4ae9d0
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af1ce
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x180e
ja 0x4af228
je case.0x4ad8b9.151
cmp ecx, 0xa0
ja 0x4af20c
je case.0x4ad8b9.151
cmp ecx, 9
je case.0x4ad8b9.151
cmp ecx, 0x20
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp ecx, 0x1680
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp ecx, 0x205f
ja 0x4af26a
je case.0x4ad8b9.151
cmp ecx, 0x2000
jb 0x4ae9d6
cmp ecx, 0x200a
jbe case.0x4ad8b9.151
cmp ecx, 0x202f
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp ecx, 0x3000
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af2c7
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x180e
ja 0x4af2ff
je 0x4ae9d6
cmp ecx, 0xa0
ja 0x4af2f4
je 0x4ae9d6
cmp ecx, 9
je 0x4ae9d6
cmp ecx, 0x20
jmp 0x4ae9d0
cmp ecx, 0x1680
jmp 0x4ae9d0
cmp ecx, 0x205f
ja 0x4af330
je 0x4ae9d6
cmp ecx, 0x2000
jb case.0x4ad8b9.151
cmp ecx, 0x200a
jbe 0x4ae9d6
cmp ecx, 0x202f
jmp 0x4ae9d0
cmp ecx, 0x3000
jmp 0x4ae9d0
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af37c
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x85
ja 0x4af3ac
je case.0x4ad8b9.151
cmp ecx, 0xa
jb 0x4ae9d6
cmp ecx, 0xd
jbe case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp ecx, 0x2028
jb 0x4ae9d6
cmp ecx, 0x2029
jbe case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af415
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x85
ja 0x4af43f
je 0x4ae9d6
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4ad880
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af49f
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add esi, 2
or edx, eax
mov dword [esp + 0x14], esi
add edx, 0x10000
mov ebx, dword [esp + 0x10]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx ecx, word [ebx + 2]
cmp ecx, 8
ja case.default.0x4af4ce
jmp dword [ecx*4 + 0x4b51a8]
cmp dword [esp + 0x1c], 0xf
jmp 0x4af611
mov al, byte [eax*8 + 0x4ca051]
cmp al, 9
je 0x4af600
cmp al, 5
je 0x4af600
cmp al, 8
je 0x4af600
xor ecx, ecx
jmp 0x4af605
movzx ecx, byte [eax*8 + 0x4ca051]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4cd710]
setne dl
xor eax, eax
cmp dword [esp + 0x1c], 0x10
sete al
cmp edx, eax
jmp 0x4af611
movzx eax, byte [eax*8 + 0x4ca051]
mov edx, dword [esp + 0x10]
xor ecx, ecx
cmp word [edx + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x1c], 0x10
sete al
cmp ecx, eax
je case.0x4ad8b9.151
add edx, 6
mov dword [esp + 0x10], edx
jmp 0x4ad880
movzx eax, byte [eax*8 + 0x4ca050]
jmp 0x4af536
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4af600
cmp eax, 3
je 0x4af600
xor ecx, ecx
jmp 0x4af605
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4af600
cmp edx, 9
je 0x4af600
cmp edx, 0xa
je 0x4af600
cmp edx, 0xc
je 0x4af600
cmp edx, 0xd
je 0x4af600
xor ecx, ecx
jmp 0x4af605
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4af600
cmp edx, 9
je 0x4af600
cmp edx, 0xa
je 0x4af600
cmp edx, 0xb
jmp 0x4af5ad
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4af600
cmp eax, 3
je 0x4af600
cmp edx, 0x5f
je 0x4af600
xor ecx, ecx
jmp 0x4af605
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0xf
sete al
cmp ecx, eax
je case.0x4ad8b9.151
mov edx, dword [esp + 0x10]
add edx, 6
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov ebx, dword [edi + 0x7c]
cmp esi, ebx
jae 0x4b3026
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af66a
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
je case.0x4ad8b9.151
cmp esi, ebx
jae 0x4ae9d6
mov edi, esi
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af6db
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
jne 0x4af145
lea esi, [edi + edx*2]
mov edi, esi
cmp esi, ebx
jb 0x4af6a6
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x174]
add edx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jmp 0x4ad880
mov ebx, dword [esp + 0x10]
xor edx, edx
cmp dword [esp + 0x1c], 0x6e
sete dl
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], ebx
lea ecx, [eax + eax]
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x170]
jge 0x4af770
mov eax, dword [edi + 0xc]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x4af770
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, edi
jmp 0x4af781
mov eax, dword [esp + 0x174]
mov ebp, dword [eax + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
movzx edi, word [ebx]
mov ebx, edi
lea eax, [ebx - 0x62]
cmp eax, 7
ja case.default.0x4af799
movzx eax, byte [eax + 0x4b51d4]
jmp dword [eax*4 + 0x4b51cc]
mov eax, dword [esp + 0x28]
movsx edi, byte [ebx + str.space]
add eax, 6
mov dword [esp + 0x10], eax
mov eax, ebx
movsx ebx, byte [ebx + 0x4be29a]
and eax, 1
mov dword [esp + 0x38], eax
test ebx, ebx
mov eax, SysReAllocString
cmove ebx, eax
jmp 0x4af7f4
xor eax, eax
cmp edi, 0x69
sete al
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
movzx ebx, word [eax + 8]
movzx edi, word [eax + 6]
test ebx, ebx
cmove ebx, dword [esp + 0x44]
add eax, 0xa
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], ebx
test ebp, ebp
je 0x4ad875
jns 0x4af80a
test edi, edi
je 0x4ad875
mov ebx, 1
cmp edi, ebx
jl 0x4af842
push edx
push dword [esp + 0x178]
mov edx, esi
push ebp
call fcn.004ad5d0
add esp, 0xc
test eax, eax
js 0x4b3085
mov ecx, dword [esp + 0x2c]
lea esi, [esi + eax*2]
mov edx, dword [esp + 0x24]
inc ebx
mov dword [esp + 0x14], esi
cmp ebx, edi
jle 0x4af813
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4ad875
cmp dword [esp + 0x38], 0
je 0x4b30a4
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov ebx, dword [esp + 0x2c]
nop dword [eax + eax]
cmp edi, dword [esp + 0x28]
jge case.0x4ad8b9.151
push dword [esp + 0x24]
mov edx, esi
mov ecx, ebx
push dword [esp + 0x178]
push ebp
call fcn.004ad5d0
add esp, 0xc
test eax, eax
js 0x4b3085
mov edx, dword [esp + 0x10]
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
inc edi
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4af8a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
push edx
push edi
push ebp
mov edx, esi
call fcn.004ad5d0
add esp, 0xc
test eax, eax
js 0x4b3173
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
jmp 0x4ad87c
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 0x22]
lea ebp, [eax + 2]
add eax, 0x22
mov dword [esp + 0x40], ebp
mov ecx, edx
mov dword [esp + 0x10], eax
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4af963
movzx eax, byte [eax + 0x4b51e4]
jmp dword [eax*4 + 0x4b51dc]
movsx edi, byte [ecx + str.space]
mov ebx, ecx
movsx ecx, byte [ecx + 0x4be29a]
and ebx, 1
mov edx, dword [esp + 0x10]
test ecx, ecx
mov eax, SysReAllocString
mov dword [esp + 0x30], ebx
cmove ecx, eax
mov eax, 2
jmp 0x4af9bd
xor eax, eax
cmp edx, 0x69
mov edx, dword [esp + 0x10]
sete al
mov dword [esp + 0x30], eax
mov eax, SysReAllocString
movzx ecx, word [edx + 4]
movzx edi, word [edx + 2]
test ecx, ecx
cmove ecx, eax
mov eax, 6
add edx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], edx
cmp edi, 1
jl 0x4afa68
jmp 0x4af9e7
mov edi, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], edi
mov ebx, 1
nop dword [eax]
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b3059
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afa38
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp edx, 0xff
jbe 0x4afa47
cmp dword [esp + 0x1c], 0x6a
jmp 0x4afa59
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.0x4ad8b9.151
inc ebx
cmp ebx, edi
jle 0x4af9f0
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
cmp edi, ebx
jne 0x4b318e
mov edi, dword [esp + 0x174]
jmp 0x4ad880
mov edi, dword [esp + 0x10]
movzx eax, word [edi + 2]
lea ebp, [edi + 4]
movzx edx, word [edi + eax*2]
lea edi, [edi + eax*2]
mov ecx, edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x10], edi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4afaab
movzx eax, byte [eax + 0x4b51f4]
jmp dword [eax*4 + 0x4b51ec]
movsx eax, byte [ecx + 0x4be29a]
mov edx, ecx
movsx ebx, byte [ecx + str.space]
add edi, 2
and edx, 1
mov dword [esp + 0x10], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4afb1a
mov dword [esp + 0x28], connect
jmp 0x4afb1a
movzx ebx, word [edi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x30], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, ecx
add edi, 6
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], edi
jmp 0x4afb1a
mov dword [esp + 0x28], 1
mov ebx, 1
mov edi, 1
cmp ebx, edi
jl 0x4afb91
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b3059
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afb78
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
push 1
mov edx, ebp
call fcn.004b6740
add esp, 4
test eax, eax
je case.0x4ad8b9.151
inc edi
cmp edi, ebx
jle 0x4afb30
mov edi, dword [esp + 0x28]
cmp ebx, edi
je 0x4ad875
cmp dword [esp + 0x30], 0
je 0x4b3405
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebx, edi
jge case.0x4ad8b9.151
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b3059
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afc2b
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
push 1
mov edx, ebp
call fcn.004b6740
add esp, 4
test eax, eax
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
inc ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4afbe3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebx, dword [esp + 0x10]
mov ecx, 0xfc00
add ebx, 2
xor edx, edx
mov ax, word [ebx]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
mov ecx, dword [edi + 0x7c]
mov eax, ecx
sete dl
sub eax, esi
inc edx
sar eax, 1
cmp edx, eax
jg 0x4b3543
movzx ecx, word [ebx]
dec edx
movzx eax, word [esi]
add ebx, 2
add esi, 2
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
cmp cx, ax
jne case.0x4ad8b9.151
test edx, edx
jg 0x4afcb7
jmp 0x4ad87c
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
mov ecx, dword [esp + 0x10]
add ecx, 2
movzx edi, word [ecx]
lea edx, [ecx + 2]
mov eax, edi
mov dword [esp + 0x10], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afd26
movzx eax, word [edx]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov ebx, 4
add edi, 0x10000
jmp 0x4afd2b
mov ebx, 2
movzx eax, word [esi]
cmp edi, 0x80
jae 0x4afd75
mov ebx, 0xff
mov ecx, eax
cmp ax, bx
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x34]
ja 0x4afd52
movzx ecx, byte [eax + ecx]
jmp 0x4afd56
mov dword [esp + 0x10], edx
movzx eax, byte [eax + edi]
cmp eax, ecx
jne case.0x4ad8b9.151
mov edi, dword [esp + 0x174]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4ad880
mov edx, eax
add esi, 2
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4afdaa
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add esi, 2
or edx, eax
mov dword [esp + 0x14], esi
add edx, 0x10000
lea eax, [ecx + ebx]
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x10], eax
cmp edi, edx
je 0x4ad862
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
mov eax, dword [eax*8 + 0x4ca054]
add eax, edi
cmp edx, eax
jne case.0x4ad8b9.151
jmp 0x4ad875
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 2]
lea edi, [ecx + 4]
mov ebp, eax
jmp 0x4afecc
mov dword [esp + 0x38], 1
mov ebx, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x24], ebp
movzx eax, word [ebx + 2]
mov dword [esp + 0x1c], eax
cmp ecx, 0x28
je 0x4afe2e
mov dword [esp + 0x30], ebp
cmp ecx, 0x35
jne 0x4afe36
mov dword [esp + 0x30], 1
lea edi, [ebx + 4]
jmp 0x4afed4
mov edi, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add edi, 2
mov dword [esp + 0x1c], connect
jmp 0x4afed0
mov edi, dword [esp + 0x10]
mov ebp, 1
mov dword [esp + 0x38], 1
add edi, 2
mov dword [esp + 0x1c], connect
jmp 0x4afed0
mov edi, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add edi, 2
mov dword [esp + 0x1c], 1
jmp 0x4afed0
mov edi, dword [esp + 0x10]
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
add edi, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
and ecx, 1
mov dword [esp + 0x30], ecx
mov ecx, SysReAllocString
movsx ebp, byte [eax + 0x4be304]
movsx eax, byte [eax + 0x4be2fc]
test eax, eax
cmove eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ebp
movzx ebx, word [edi]
mov ecx, 1
mov eax, ebx
mov dword [esp + 0x20], edi
and eax, 0xfc00
mov dword [esp + 0x18], ecx
cmp eax, 0xd800
jne 0x4aff15
movzx eax, word [edi + 2]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or ebx, eax
mov ecx, 2
add ebx, 0x10000
mov dword [esp + 0x18], ecx
lea eax, [edi + ecx*2]
mov dword [esp + 0x10], eax
cmp ecx, 1
jbe 0x4b02ea
cmp edx, 0x2e
jb 0x4aff64
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, ebx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
mov ecx, dword [eax*8 + 0x4ca054]
add ecx, ebx
cmp ecx, ebx
je 0x4aff64
lea edx, [esp + 0x74]
call fcn.004b6560
mov dword [esp + 0x2c], eax
jmp 0x4aff6c
mov dword [esp + 0x2c], 0
mov edi, dword [esp + 0x24]
mov ebp, 1
cmp edi, ebp
jl 0x4b00ac
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x7c]
mov eax, ecx
lea ebx, [edx + edx]
mov dword [esp + 0x28], ecx
sub eax, ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], eax
nop
cmp esi, eax
ja 0x4b000d
lea edi, [edx + edx]
mov ecx, esi
mov edx, dword [esp + 0x20]
sub edi, 4
jb 0x4affc3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4affcc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4affb2
cmp edi, 0xfffffffc
je 0x4b0089
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b0009
cmp edi, 0xfffffffd
je 0x4b0089
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b0009
cmp edi, 0xfffffffe
je 0x4b0089
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b0009
cmp edi, 0xffffffff
je 0x4b0089
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4b0089
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
test edx, edx
jle 0x4b3085
lea ebx, [edx + edx]
mov eax, ecx
sub eax, ebx
cmp esi, eax
ja 0x4b3085
lea edi, [edx + edx]
mov ecx, esi
lea edx, [esp + 0x74]
sub edi, 4
jb 0x4b0047
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b004c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b0036
cmp edi, 0xfffffffc
je 0x4b0089
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b3085
cmp edi, 0xfffffffd
je 0x4b0089
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b3085
cmp edi, 0xfffffffe
je 0x4b0089
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b3085
cmp edi, 0xffffffff
je 0x4b0089
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b3085
mov edi, dword [esp + 0x24]
add esi, ebx
mov eax, dword [esp + 0x48]
inc ebp
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], esi
cmp ebp, edi
jle 0x4affa0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x170]
cmp edi, ebp
je 0x4ad862
cmp dword [esp + 0x30], 0
jne 0x4b355d
mov ebx, esi
mov dword [esp + 0x30], ebx
cmp edi, ebp
jge 0x4b0201
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x7c]
mov ebp, eax
lea ebx, [ecx + ecx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
sub ebp, ebx
cmp esi, ebp
ja 0x4b015e
mov edx, dword [esp + 0x20]
lea edi, [ecx + ecx]
mov ecx, esi
sub edi, 4
jb 0x4b0118
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b0121
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b0107
cmp edi, 0xfffffffc
je 0x4b01d8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b015a
cmp edi, 0xfffffffd
je 0x4b01d8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b015a
cmp edi, 0xfffffffe
je 0x4b01d8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b015a
cmp edi, 0xffffffff
je 0x4b01d8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4b01d8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4b02b0
lea ebx, [ecx + ecx]
sub eax, ebx
cmp esi, eax
ja 0x4b02b0
lea edi, [ecx + ecx]
mov ecx, esi
lea edx, [esp + 0x74]
sub edi, 4
jb 0x4b0196
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b019b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b0185
cmp edi, 0xfffffffc
je 0x4b01d8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b02b0
cmp edi, 0xfffffffd
je 0x4b01d8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b02b0
cmp edi, 0xfffffffe
je 0x4b01d8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b02b0
cmp edi, 0xffffffff
je 0x4b01d8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b02b0
mov edi, dword [esp + 0x24]
add esi, ebx
mov ebx, dword [esp + 0x40]
inc edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], edi
cmp edi, dword [esp + 0x1c]
jl 0x4b00f5
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4ad87c
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebp, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop word [eax + eax]
mov ecx, esi
cmp esi, ebx
je case.0x4ad8b9.151
mov ax, word [esi - 2]
sub esi, 2
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b0276
lea esi, [ecx - 4]
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b0250
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b02e1
cmp esi, dword [edi + 0x7c]
jb 0x4b02e1
cmp esi, dword [edi + 0x88]
jbe 0x4b02e1
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
mov ebx, dword [esp + 0x30]
jmp 0x4b0208
cmp edx, 0x2e
jb 0x4b0458
cmp ebx, 0x7f
jbe 0x4b0321
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
mov edi, dword [eax*8 + 0x4ca054]
add edi, ebx
jmp 0x4b033b
cmp ebx, 0xff
ja 0x4b0339
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x38]
movzx edi, byte [eax + ebx]
jmp 0x4b033b
mov edi, ebx
mov ecx, 1
cmp ebp, ecx
jl 0x4b0373
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x7c]
nop
cmp esi, edx
jae 0x4b3052
movzx eax, word [esi]
cmp ebx, eax
je 0x4b0367
cmp edi, eax
jne case.0x4ad8b9.151
add esi, 2
inc ecx
mov dword [esp + 0x14], esi
cmp ecx, ebp
jle 0x4b0350
mov eax, dword [esp + 0x1c]
cmp ebp, eax
je 0x4ad875
cmp dword [esp + 0x30], 0
jne 0x4b3719
mov edx, dword [esp + 0x24]
mov ebp, esi
cmp edx, eax
jge 0x4b03c1
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop
cmp esi, ecx
jae 0x4b0427
movzx eax, word [esi]
cmp ebx, eax
je 0x4b03b3
cmp edi, eax
jne 0x4b03c1
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, dword [esp + 0x1c]
jl 0x4b03a0
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4ad87c
cmp esi, ebp
jb case.0x4ad8b9.151
nop dword [eax + eax]
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
sub esi, 2
test eax, eax
jne 0x4b2e46
cmp esi, ebp
jae 0x4b03e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b03c8
cmp esi, dword [edi + 0x88]
jbe 0x4b03c8
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
jmp 0x4b03c8
mov edi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x4b048f
mov edx, dword [edi + 0x7c]
nop dword [eax + eax]
cmp esi, edx
jae 0x4b3026
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x14], esi
cmp ebx, eax
jne case.0x4ad8b9.151
inc ecx
cmp ecx, ebp
jle 0x4b0470
mov edx, dword [esp + 0x1c]
cmp ebp, edx
je 0x4ad87c
cmp dword [esp + 0x30], 0
jne 0x4b37bd
mov edi, esi
cmp ebp, edx
jge 0x4b04fb
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4b04cf
movzx eax, word [esi]
cmp ebx, eax
jne 0x4b04fb
add esi, 2
inc ebp
mov dword [esp + 0x14], esi
cmp ebp, edx
jl 0x4b04b6
jmp 0x4b04fb
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b04fb
cmp esi, dword [eax + 0x88]
jbe 0x4b04fb
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b4a16
cmp dword [esp + 0x38], 0
jne 0x4ad875
cmp esi, edi
jb case.0x4ad8b9.151
nop
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
sub esi, 2
test eax, eax
jne 0x4b2e46
cmp esi, edi
jae 0x4b0510
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx edi, word [esi]
add esi, 2
mov ecx, dword [esp + 0x10]
mov eax, edi
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4b05a2
movzx eax, word [esi]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
add esi, 2
or edi, eax
mov dword [esp + 0x14], esi
add edi, 0x10000
movzx edx, word [ecx + 2]
lea eax, [ecx + 4]
mov dword [esp + 0x10], eax
cmp ebp, 0x20
jne 0x4b0609
cmp edx, 0x7f
jbe 0x4b05e0
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
mov eax, dword [eax*8 + 0x4ca054]
add eax, edx
jmp 0x4b05fa
cmp edx, 0xff
ja 0x4b05f8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x38]
movzx eax, byte [eax + edx]
jmp 0x4b05fa
mov eax, edx
cmp edx, edi
je case.0x4ad8b9.151
cmp eax, edi
jmp 0x4ad86f
mov dword [esp + 0x10], eax
cmp edx, edi
jmp 0x4ad86f
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 2]
add ecx, 4
mov dword [esp + 0x1c], eax
mov ebx, eax
jmp 0x4b06f3
mov edx, dword [esp + 0x10]
xor ebx, ebx
movzx eax, word [edx + 2]
mov dword [esp + 0x1c], eax
cmp ecx, 0x42
je 0x4b0646
mov dword [esp + 0x30], ebx
cmp ecx, 0x4f
jne 0x4b064e
mov dword [esp + 0x30], 1
lea ecx, [edx + 4]
jmp 0x4b06f3
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x38], 1
add ecx, 2
jmp 0x4b06eb
mov ecx, dword [esp + 0x10]
mov ebx, 1
mov dword [esp + 0x38], 1
add ecx, 2
jmp 0x4b06eb
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x38], 1
add ecx, 2
mov dword [esp + 0x1c], 1
jmp 0x4b06f3
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x38], 1
movzx eax, word [ecx + 2]
add ecx, 4
mov dword [esp + 0x1c], eax
jmp 0x4b06f3
mov ecx, dword [esp + 0x10]
cmp edx, 0x48
sbb eax, eax
add ecx, 2
and eax, 0xfffffff3
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [esp + 0x30], edx
movsx ebx, byte [eax + 0x4be304]
movsx eax, byte [eax + 0x4be2fc]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4b06f3
mov dword [esp + 0x1c], connect
movzx edi, word [ecx]
lea edx, [ecx + 2]
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], edx
cmp ebp, 0x48
jb 0x4b0930
cmp edi, 0x7f
jbe 0x4b0738
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
mov ebp, dword [eax*8 + 0x4ca054]
add ebp, edi
jmp 0x4b0752
cmp edi, 0xff
ja 0x4b0750
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + edi]
jmp 0x4b0759
mov ebp, edi
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x2c], ebp
cmp ebx, 1
jl 0x4b07cf
mov edi, dword [ecx + 0x7c]
mov edx, 1
nop word [eax + eax]
cmp esi, edi
jae 0x4b3850
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b07b0
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp dword [esp + 0x24], ecx
je case.0x4ad8b9.151
cmp ebp, ecx
je case.0x4ad8b9.151
inc edx
cmp edx, ebx
jle 0x4b0770
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
cmp ebx, eax
je 0x4afa74
cmp dword [esp + 0x30], 0
jne 0x4b3883
mov ebp, esi
cmp ebx, eax
jge 0x4b084d
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b08f7
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0833
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je 0x4b084d
cmp dword [esp + 0x2c], ecx
je 0x4b084d
inc ebx
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebx, dword [esp + 0x1c]
jl 0x4b07f6
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4ad87c
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, ebx
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebp
je case.0x4ad8b9.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b08bd
lea esi, [ecx - 4]
mov eax, dword [esp + 0x17c]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b0896
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b0854
cmp esi, dword [edi + 0x88]
jbe 0x4b0854
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
jmp 0x4b0854
mov ebp, dword [esp + 0x174]
mov edx, 1
cmp ebx, edx
jl 0x4b0996
mov edi, dword [ebp + 0x7c]
cmp esi, edi
jae 0x4b3987
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0983
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp dword [esp + 0x24], ecx
je case.0x4ad8b9.151
inc edx
cmp edx, ebx
jle 0x4b0943
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
cmp ebx, eax
je 0x4afa74
cmp dword [esp + 0x30], 0
jne 0x4b39b3
mov ebp, esi
cmp ebx, eax
jge 0x4b0a12
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b0ac1
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b09fe
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je 0x4b0a12
inc ebx
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebx, dword [esp + 0x1c]
jl 0x4b09c1
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4ad87c
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, ebx
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop dword [eax + eax]
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebp
je case.0x4ad8b9.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b0a87
lea esi, [ecx - 4]
mov eax, dword [esp + 0x17c]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b0a60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b0a19
cmp esi, dword [edi + 0x88]
jbe 0x4b0a19
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
jmp 0x4b0a19
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], 1
movzx eax, word [ecx + 2]
mov ebp, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
lea eax, [ecx + 4]
jmp 0x4b0bed
mov edx, dword [esp + 0x10]
xor ebx, ebx
xor ebp, ebp
cmp ecx, 0x5c
mov dword [esp + 0x24], ebp
sete bl
movzx eax, word [edx + 2]
mov dword [esp + 0x20], eax
lea eax, [edx + 4]
mov dword [esp + 0x30], ebx
jmp 0x4b0bed
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add eax, 2
mov dword [esp + 0x24], ebp
jmp 0x4b0be5
mov eax, dword [esp + 0x10]
mov ebp, 1
mov dword [esp + 0x38], 1
add eax, 2
mov dword [esp + 0x24], ebp
jmp 0x4b0be5
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add eax, 2
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], 1
jmp 0x4b0bed
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
mov dword [esp + 0x24], ebp
movzx eax, word [ecx + 2]
mov dword [esp + 0x20], eax
lea eax, [ecx + 4]
jmp 0x4b0bed
mov eax, dword [esp + 0x10]
lea ecx, [edx - 1]
movsx ebp, byte [edx + 0x4be2af]
and ecx, 1
mov dword [esp + 0x30], ecx
add eax, 2
movsx ecx, byte [edx + 0x4be2a7]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x4b0bed
mov dword [esp + 0x20], connect
movzx edi, word [eax]
lea edx, [eax + 2]
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], edx
cmp edi, 0x10
je 0x4b0c12
cmp edi, 0xf
je 0x4b0c12
mov ebx, dword [esp + 0x34]
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4b0c38
movzx ecx, word [edx]
lea eax, [edx + 2]
movzx edx, word [eax]
xor ebx, ebx
cmp edi, 0xf
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], ecx
sete bl
add eax, 2
mov dword [esp + 0x10], eax
mov eax, ecx
mov dword [esp + 0x34], ebx
test ebp, ebp
jle 0x4b10c5
test eax, eax
js 0x4b127d
cmp eax, 8
ja case.default.0x4af4ce
jmp dword [eax*4 + 0x4b51fc]
test ebx, ebx
jne case.0x4ad8b9.151
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x174]
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
mov ecx, esi
cmp esi, edi
jae 0x4b49e9
movzx eax, word [esi]
add esi, 2
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4b0c9c
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
inc edx
cmp edx, ebp
jle 0x4b0c75
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0d01
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add esi, 2
or ecx, eax
mov dword [esp + 0x14], esi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
mov al, byte [eax*8 + 0x4ca051]
cmp al, 9
je 0x4b0d34
cmp al, 5
je 0x4b0d34
cmp al, 8
je 0x4b0d34
xor eax, eax
jmp 0x4b0d39
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b0cc1
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0db0
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add esi, 2
or ecx, eax
mov dword [esp + 0x14], esi
add ecx, 0x10000
mov ebx, dword [esp + 0x3c]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], ebx
mov ebx, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b0d70
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
nop
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0e60
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add esi, 2
or ecx, eax
mov dword [esp + 0x14], esi
add ecx, 0x10000
mov eax, ecx
mov ebx, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b0e20
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0f07
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add esi, 2
or ecx, eax
mov dword [esp + 0x14], esi
add ecx, 0x10000
mov eax, ecx
mov ebx, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca050]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b0ec7
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
nop
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0fb0
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add esi, 2
or ecx, eax
mov dword [esp + 0x14], esi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4b0fe9
cmp eax, 3
je 0x4b0fe9
xor eax, eax
jmp 0x4b0fee
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b0f70
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov edi, 1
cmp ebp, edi
jl 0x4b10c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b3052
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1061
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add esi, 2
or edx, eax
mov dword [esp + 0x14], esi
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4b10a9
cmp edx, 9
je 0x4b10a9
cmp edx, 0xa
je 0x4b10a9
cmp edx, 0xc
je 0x4b10a9
cmp edx, 0xd
je 0x4b10a9
xor eax, eax
jmp 0x4b10ae
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edi
cmp edi, ebp
jle 0x4b1021
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4ad875
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x2c]
jne 0x4b3c41
mov ebx, esi
mov dword [esp + 0x1c], ebx
test eax, eax
js 0x4b2188
cmp eax, 8
ja case.default.0x4af4ce
jmp dword [eax*4 + 0x4b5220]
mov edi, 1
cmp ebp, edi
jl 0x4b10c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b3052
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1158
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add esi, 2
or edx, eax
mov dword [esp + 0x14], esi
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4b11a5
cmp edx, 9
je 0x4b11a5
cmp edx, 0xa
je 0x4b11a5
cmp edx, 0xb
je 0x4b11a5
cmp edx, 0xc
je 0x4b11a5
cmp edx, 0xd
je 0x4b11a5
xor eax, eax
jmp 0x4b11aa
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edi
cmp edi, ebp
jle 0x4b1118
jmp 0x4b10c1
mov edi, 1
cmp ebp, edi
jl 0x4b10c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
nop dword [eax]
cmp esi, ebx
jae 0x4b3052
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1220
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add esi, 2
or edx, eax
mov dword [esp + 0x14], esi
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4b1260
cmp eax, 3
je 0x4b1260
cmp edx, 0x5f
je 0x4b1260
xor eax, eax
jmp 0x4b1265
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
inc edi
cmp edi, ebp
jle 0x4b11e0
jmp 0x4b10c1
cmp edi, 0x16
jne 0x4b13b1
mov ebx, dword [esp + 0x174]
mov ebp, 1
cmp dword [esp + 0x24], ebp
jl 0x4b1ab5
nop dword [eax]
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx ecx, word [esi]
lea edx, [esi + 2]
mov eax, ecx
mov esi, edx
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4b12e3
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add esi, 2
or ecx, eax
mov dword [esp + 0x14], esi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
je case.0x4ad8b9.151
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b1399
mov ebx, esi
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1357
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
jne 0x4b138e
lea esi, [ebx + edx*2]
mov ebx, esi
cmp esi, edi
jb 0x4b1322
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, dword [esp + 0x24]
jle 0x4b12a0
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x4af4ce
jmp dword [eax*4 + 0x4b5244]
mov ebx, dword [esp + 0x174]
mov edi, 1
cmp ebp, edi
jl 0x4b1468
mov ecx, dword [ebx + 0x7c]
nop dword [eax + eax]
cmp esi, ecx
jae 0x4b49e9
mov edx, dword [ebx + 0x18]
lea eax, [ebx + 0x1c]
test edx, edx
je 0x4b140a
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b65c0
add esp, 0xc
test eax, eax
jne case.0x4ad8b9.151
jmp 0x4b1435
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b1435
mov ax, word [esi]
cmp ax, word [ebx + 0x2c]
jne 0x4b1435
cmp edx, 1
je case.0x4ad8b9.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x2e]
je case.0x4ad8b9.151
mov ecx, dword [ebx + 0x7c]
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, ecx
jae 0x4b145f
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b145f
add esi, 2
mov dword [esp + 0x14], esi
inc edi
cmp edi, ebp
jle 0x4b13e0
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x4b10cc
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x4b49e9
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edx
jae 0x4b14b1
mov ax, word [esi]
and ax, word [esp + 0x64]
cmp ax, word [esp + 0x68]
jne 0x4b14b1
add esi, 2
mov dword [esp + 0x14], esi
inc ecx
cmp ecx, ebp
jle 0x4b1488
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [ebx + 0x7c]
sub eax, ecx
cmp esi, eax
ja case.0x4ad8b9.151
add esi, ecx
mov dword [esp + 0x14], esi
jmp 0x4b10cc
mov edi, 1
cmp ebp, edi
jl 0x4b10c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b3059
movzx ecx, word [esi]
lea edx, [esi + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1530
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 0x4b157c
je 0x4b1558
cmp ecx, 0xa
je 0x4b1541
lea eax, [ecx - 0xb]
jmp 0x4b158a
mov esi, edx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x174]
inc edi
cmp edi, ebp
jle 0x4b14f8
jmp 0x4b10c1
mov esi, edx
mov dword [esp + 0x14], esi
cmp edx, ebx
jae 0x4b1547
cmp word [edx], 0xa
mov eax, dword [esp + 0x174]
mov dword [esp + 0x14], esi
jne 0x4b154e
lea esi, [edx + 2]
mov dword [esp + 0x14], esi
jmp 0x4b154e
cmp ecx, 0x85
je 0x4b1593
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4ad8b9.151
mov eax, dword [esp + 0x174]
mov esi, edx
mov dword [esp + 0x14], esi
cmp dword [eax + 0x68], 0
jne case.0x4ad8b9.151
jmp 0x4b154e
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1603
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x180e
ja 0x4b1635
je case.0x4ad8b9.151
cmp ecx, 0xa0
ja 0x4b162d
je case.0x4ad8b9.151
cmp ecx, 9
je case.0x4ad8b9.151
cmp ecx, 0x20
jmp 0x4b1665
cmp ecx, 0x1680
jmp 0x4b1665
cmp ecx, 0x205f
ja 0x4b165f
je case.0x4ad8b9.151
cmp ecx, 0x2000
jb 0x4b166b
cmp ecx, 0x200a
jbe case.0x4ad8b9.151
cmp ecx, 0x202f
jmp 0x4b1665
cmp ecx, 0x3000
je case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b15c3
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b16d4
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x180e
ja 0x4b16fa
je 0x4b172c
cmp ecx, 0xa0
ja 0x4b16f2
je 0x4b172c
cmp ecx, 9
je 0x4b172c
cmp ecx, 0x20
jmp 0x4b1726
cmp ecx, 0x1680
jmp 0x4b1726
cmp ecx, 0x205f
ja 0x4b1720
je 0x4b172c
cmp ecx, 0x2000
jb case.0x4ad8b9.151
cmp ecx, 0x200a
jbe 0x4b172c
cmp ecx, 0x202f
jmp 0x4b1726
cmp ecx, 0x3000
jne case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b1694
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1795
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x85
ja 0x4b17ad
je case.0x4ad8b9.151
cmp ecx, 0xa
jb 0x4b17c1
cmp ecx, 0xd
jmp 0x4b17bb
cmp ecx, 0x2028
jb 0x4b17c1
cmp ecx, 0x2029
jbe case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b1755
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1826
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x85
ja 0x4b1838
je 0x4b1847
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x4b1841
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b17e6
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b18b0
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x80
jae 0x4b18c5
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
jne case.0x4ad8b9.151
inc edx
cmp edx, ebp
jle 0x4b1870
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
nop word [eax + eax]
cmp esi, edi
jae 0x4b49e9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae case.0x4ad8b9.151
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
je case.0x4ad8b9.151
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, ebp
jle 0x4b18f0
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae 0x4b1968
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
jne case.0x4ad8b9.151
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x4b198f
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b198f
add esi, 2
mov dword [esp + 0x14], esi
inc edx
cmp edx, ebp
jle 0x4b1944
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae case.0x4ad8b9.151
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
je case.0x4ad8b9.151
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, ebp
jle 0x4b19b4
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b10cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae 0x4b1a2c
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x4ad8b9.151
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x4b1a53
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b1a53
add esi, 2
mov dword [esp + 0x14], esi
inc edx
cmp edx, ebp
jle 0x4b1a08
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov edx, 1
cmp ebp, edx
jl 0x4b10c5
mov ebx, dword [esp + 0x174]
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b49e9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae case.0x4ad8b9.151
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 0x10
je case.0x4ad8b9.151
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, ebp
jle 0x4b1a78
mov edi, dword [esp + 0x18]
jmp 0x4b10cc
mov ebp, dword [esp + 0x24]
jmp 0x4b10cc
mov edi, dword [esp + 0x174]
cmp ebp, edx
jge 0x4b20e5
mov edx, dword [edi + 0x7c]
cmp esi, edx
jae 0x4b1bc0
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x4b20e5
xor eax, eax
cmp cx, word [esp + 0x4c]
sete al
inc ebp
lea esi, [esi + eax*2]
add esi, 2
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1ad0
jmp 0x4b20e5
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1bb9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1b60
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
mov al, byte [eax*8 + 0x4ca051]
cmp al, 9
je 0x4b1b93
cmp al, 5
je 0x4b1b93
cmp al, 8
je 0x4b1b93
xor eax, eax
jmp 0x4b1b98
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b20de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1b23
jmp 0x4b20de
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b20e5
cmp esi, dword [edi + 0x88]
jbe 0x4b20e5
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
jmp 0x4b20e5
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1bb9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1c3d
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebx, dword [esp + 0x3c]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], ebx
mov ebx, dword [esp + 0x1c]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4b20de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1c04
jmp 0x4b20de
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1bb9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1ce5
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4b20de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1ca8
jmp 0x4b20de
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1bb9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1d82
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca050]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4b20de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1d45
jmp 0x4b20de
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1bb9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1e1f
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4b1e58
cmp eax, 3
je 0x4b1e58
xor eax, eax
jmp 0x4b1e5d
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b20de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1de2
jmp 0x4b20de
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
mov edi, 1
cmp esi, ebx
jae 0x4b1f3b
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1ecd
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4b1f15
cmp edx, 9
je 0x4b1f15
cmp edx, 0xa
je 0x4b1f15
cmp edx, 0xc
je 0x4b1f15
cmp edx, 0xd
je 0x4b1f15
xor eax, eax
jmp 0x4b1f1a
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b20da
inc ebp
lea esi, [esi + edi*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1e90
jmp 0x4b20da
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b1f67
cmp esi, dword [edi + 0x88]
jbe 0x4b1f67
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
mov ebx, dword [esp + 0x1c]
jmp 0x4b20e5
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
mov edi, 1
cmp esi, ebx
jae 0x4b1f3b
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1fbb
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4b2008
cmp edx, 9
je 0x4b2008
cmp edx, 0xa
je 0x4b2008
cmp edx, 0xb
je 0x4b2008
cmp edx, 0xc
je 0x4b2008
cmp edx, 0xd
je 0x4b2008
xor eax, eax
jmp 0x4b200d
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b20da
inc ebp
lea esi, [esi + edi*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1f82
jmp 0x4b20da
cmp ebp, edx
jge 0x4b20de
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b1f3b
movzx edx, word [esi]
mov edi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b207d
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4b20bd
cmp eax, 3
je 0x4b20bd
cmp edx, 0x5f
je 0x4b20bd
xor eax, eax
jmp 0x4b20c2
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b20da
inc ebp
lea esi, [esi + edi*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b2040
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4ad87c
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebp, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebx
je case.0x4ad8b9.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b214e
lea esi, [ecx - 4]
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b2127
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edi, 0x16
jne 0x4b22f6
cmp ebp, edx
jge 0x4b22db
mov ebx, dword [esp + 0x174]
mov ebp, dword [ebx + 0x7c]
cmp esi, ebp
jae 0x4b22b2
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b21e0
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
je 0x4b22d7
mov ebx, dword [ebx + 0x7c]
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp esi, ebx
jae 0x4b2296
mov edi, esi
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b225b
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
jne 0x4b2292
lea esi, [edi + edx*2]
mov edi, esi
cmp esi, ebx
jb 0x4b2226
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x174]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x20]
jl 0x4b21a3
jmp 0x4b22d7
cmp dword [ebx + 0x8c], 0
je 0x4b22d7
cmp esi, dword [ebx + 0x88]
jbe 0x4b22d7
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x8c], 1
jg 0x4b4a16
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x38], 0
mov edx, dword [esp + 0x10]
je 0x4b3a74
mov edi, dword [esp + 0x174]
jmp 0x4ad880
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x4af4ce
jmp dword [eax*4 + 0x4b5284]
cmp edx, 0x7fffffff
jge 0x4b23fd
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4b23cb
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4b2351
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b65c0
add esp, 0xc
test eax, eax
jne 0x4b263e
jmp 0x4b2383
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b2383
mov ecx, dword [esp + 0x174]
mov ax, word [esi]
cmp ax, word [ecx + 0x2c]
jne 0x4b2383
cmp edx, 1
je 0x4b263e
mov ax, word [esi + 2]
cmp ax, word [ecx + 0x2e]
je 0x4b263e
mov eax, dword [esp + 0x174]
add esi, 2
mov dword [esp + 0x14], esi
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4b23bb
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4b23bb
add esi, 2
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4b2327
jmp 0x4b263e
cmp dword [eax + 0x8c], 0
je 0x4b263e
cmp esi, dword [eax + 0x88]
jbe 0x4b263e
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b4a16
jmp 0x4b263e
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop
cmp esi, ecx
jae 0x4b23cb
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4b2436
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b65c0
add esp, 0xc
test eax, eax
jne 0x4b263e
jmp 0x4b2468
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b2468
mov ecx, dword [esp + 0x174]
mov ax, word [esi]
cmp ax, word [ecx + 0x2c]
jne 0x4b2468
cmp edx, 1
je 0x4b263e
mov ax, word [esi + 2]
cmp ax, word [ecx + 0x2e]
je 0x4b263e
mov eax, dword [esp + 0x174]
add esi, 2
mov dword [esp + 0x14], esi
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4b24a0
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4b24a0
add esi, 2
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4b2410
jmp 0x4b263e
cmp edx, 0x7fffffff
jge 0x4b2508
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp esi, ecx
jae 0x4b24ff
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, ecx
jae 0x4b24f5
mov ax, word [esi]
and ax, word [esp + 0x64]
cmp ax, word [esp + 0x68]
jne 0x4b24f5
add esi, 2
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, edx
jl 0x4b24d0
jmp 0x4b263e
mov eax, dword [esp + 0x174]
jmp 0x4b2516
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov dword [esp + 0x14], esi
cmp dword [eax + 0x8c], 0
je 0x4b253b
cmp esi, dword [eax + 0x88]
jbe 0x4b253b
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b4a16
mov ebp, eax
jmp 0x4b2645
sub edx, ebp
mov ebp, dword [esp + 0x174]
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sub eax, esi
sar eax, 1
cmp edx, eax
jbe 0x4b2571
mov eax, ebp
mov esi, ecx
mov dword [esp + 0x14], esi
cmp dword [eax + 0x8c], 0
je 0x4b253b
cmp ecx, dword [eax + 0x88]
jmp 0x4b2525
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
jmp 0x4b2645
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
mov edx, esi
cmp esi, edi
jae 0x4b2660
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b25cc
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x4b25d1
mov eax, 2
cmp ecx, 0xd
jne 0x4b25ed
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x4b263a
cmp word [esi], 0xa
cmovne esi, edx
add esi, 2
jmp 0x4b262b
cmp ecx, 0xa
je 0x4b2629
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x4b2b84
cmp ecx, 0xb
je 0x4b2629
cmp ecx, 0xc
je 0x4b2629
cmp ecx, 0x85
je 0x4b2629
cmp ecx, 0x2028
je 0x4b2629
cmp ecx, 0x2029
jne 0x4b2b84
add esi, eax
inc ebp
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b2590
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
mov edx, dword [esp + 0x10]
je 0x4b3b94
mov edi, dword [esp + 0x174]
jmp 0x4ad880
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b268c
cmp esi, dword [eax + 0x88]
jbe 0x4b268c
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b4a16
mov edi, dword [esp + 0x18]
mov ebp, eax
jmp 0x4b2645
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
mov edx, 1
cmp esi, edi
jae 0x4b2761
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b26df
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x4b2705
je 0x4b2733
cmp ecx, 0xa0
ja 0x4b26fd
je 0x4b2733
cmp ecx, 9
je 0x4b2733
cmp ecx, 0x20
jmp 0x4b272d
cmp ecx, 0x1680
jmp 0x4b272d
cmp ecx, 0x205f
ja 0x4b2727
je 0x4b2733
cmp ecx, 0x2000
jb 0x4b272f
cmp ecx, 0x200a
jbe 0x4b2733
cmp ecx, 0x202f
jmp 0x4b272d
cmp ecx, 0x3000
je 0x4b2733
xor ecx, ecx
jmp 0x4b2738
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x18], 0x12
sete al
cmp ecx, eax
je 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b26a2
jmp 0x4b263a
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b268c
cmp esi, dword [eax + 0x88]
jbe 0x4b268c
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4b4a16
mov edi, dword [esp + 0x18]
mov ebp, eax
jmp 0x4b2645
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b2660
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b27ed
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x4b2828
je 0x4b2833
cmp ecx, 0xa
jb 0x4b2801
cmp ecx, 0xd
jbe 0x4b2833
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x18], 0x14
sete al
cmp ecx, eax
je 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b27b0
jmp 0x4b263a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x4b2801
mov ecx, 1
jmp 0x4b2803
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b2660
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b288d
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4b28a9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b2850
jmp 0x4b263a
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
cmp esi, edi
jae 0x4b2660
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b290d
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4b263a
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b28d0
jmp 0x4b263a
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b2660
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b298f
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4b29ab
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b2952
jmp 0x4b263a
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b2660
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b2a0d
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4b263a
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b29d0
jmp 0x4b263a
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b2660
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b2a8f
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4b2aab
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b2a52
jmp 0x4b263a
cmp ebp, edx
jge 0x4b263e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b2b40
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b2b0d
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4b263a
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4b263a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b2ad0
jmp 0x4b263a
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b268c
cmp esi, dword [eax + 0x88]
jbe 0x4b268c
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle 0x4b268c
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x18]
mov ebp, edx
jmp 0x4b2645
cmp ecx, 0x74
mov ecx, esi
jne 0x4b2bd0
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov edx, ebp
jmp 0x4b2e2f
mov dword [edi + 0x9c], 2
mov edx, ebp
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov edx, dword [esp + 0x10]
add edx, 4
jmp 0x4b2e2f
mov edi, dword [esp + 0x174]
mov eax, dword [edi + 0x90]
cmp eax, ebx
cmovle eax, ebx
mov dword [esp + 0x170], eax
movzx eax, word [ebp + 6]
lea eax, [eax*2 + 4]
add eax, ebp
mov ecx, eax
cmp word [ecx], 0x71
jne 0x4b2c5d
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
je 0x4b2c45
jmp 0x4b2c5d
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x1c], 0x86
lea edx, [eax + 4]
mov dword [esp + 0x10], edx
jne 0x4b2e33
mov dword [edi + 0x9c], 2
mov ecx, esi
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x75
je 0x4b2fda
cmp ecx, 0x74
jne 0x4b2d45
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push ebx
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
movzx eax, word [ebp]
mov edx, ebp
cmp eax, 0x7b
je 0x4b2dac
mov ecx, 0x82
cmp ax, cx
jb 0x4b2e2f
mov dword [edi + 0x9c], 2
mov ecx, esi
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push ebx
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0x82
cmp word [ebp], ax
jb 0x4b2d5a
mov dword [edi + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push ebx
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4b2d8e
cmp dword [edi + 0xb8], ebp
jmp 0x4b2d90
test eax, eax
jne 0x4b2e46
mov edx, dword [esp + 0x10]
add edx, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x10], edx
jne 0x4b2e33
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x17c]
push edi
push ebx
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4ae943
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 4]
mov dword [esp + 0x48], edx
lea ebp, [edx + edx]
cmp ebp, dword [edi + 0x14]
jl 0x4b4a26
mov edx, dword [esp + 0x1c]
nop
cmp edx, 0x82
jae 0x4b2e51
cmp edx, 0x7b
je 0x4b2e51
cmp dword [edi + 0x6c], 0
mov edx, dword [esp + 0x10]
jne 0x4b2e5f
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
je 0x4b2e5f
movzx eax, word [edx]
movzx eax, byte [eax + 0x4cd330]
lea edx, [edx + eax*2]
mov dword [esp + 0x10], edx
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jb 0x4ad820
inc eax
mov dword [edi], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x10]
mov dword [edi + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebx, dword [esp + 0x174]
inc eax
mov edi, dword [edi + 0xb0]
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebx
movzx eax, byte [eax + 0x4cd330]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [edx + eax*2]
call fcn.004ad780
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x4b2edc
mov ebp, dword [esp + 0x10]
movzx ecx, word [ebp + 2]
lea eax, [ecx*2]
add eax, ebp
cmp dword [ebx + 0x80], eax
jae 0x4b4bc5
cmp word [ebp], 0x71
je 0x4b2ee8
cmp word [eax], 0x71
jne 0x4b4bc5
jmp 0x4b2ee8
test edx, edx
jne 0x4b4b8a
mov ebp, dword [esp + 0x10]
movzx eax, word [ebp + 2]
lea ebp, [ebp + eax*2]
mov dword [ebx + 0xb0], edi
cmp word [ebp], 0x71
mov dword [esp + 0x10], ebp
jne case.0x4ad8b9.151
mov edi, ebx
jmp 0x4b2dfa
mov eax, dword [esp + 0x17c]
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [ebx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ebx + ecx*2]
mov ecx, esi
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b2f58
cmp eax, 0xfffffc1d
je 0x4b2f58
cmp eax, 0xfffffc20
jne 0x4b2e46
lea eax, [ebx + 4]
mov dword [edi + 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 + 0x58]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4b2f9a
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, edi
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], esi
mov dword [edi + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [edi + 0x84], esi
mov eax, 0xfffffc1b
mov dword [edi + 0x90], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x170]
mov dword [edi + 0x84], esi
mov dword [edi + 0x90], eax
mov eax, dword [esp + 0x16c]
mov dword [edi + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [edi + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [edi + 0x88]
jbe case.0x4ad8b9.151
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jmp 0x4b4a10
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [eax + 0x88]
jbe case.0x4ad8b9.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x4b4a10
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [eax + 0x7c]
jb case.0x4ad8b9.151
jmp 0x4b3066
mov ebx, esi
cmp edi, eax
jge 0x4b3120
nop
push edx
push dword [esp + 0x178]
mov edx, esi
push ebp
call fcn.004ad5d0
add esp, 0xc
test eax, eax
js 0x4b30db
mov ecx, dword [esp + 0x2c]
lea esi, [esi + eax*2]
mov edx, dword [esp + 0x24]
inc edi
cmp edi, dword [esp + 0x28]
jl 0x4b30b0
jmp 0x4b310c
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b310c
cmp esi, dword [eax + 0x7c]
jb 0x4b310c
cmp esi, dword [eax + 0x88]
jbe 0x4b310c
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b4a16
cmp esi, ebx
jb case.0x4ad8b9.151
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov eax, ebp
neg eax
lea esi, [esi + eax*2]
cmp esi, ebx
jae 0x4b3120
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [edi + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [edi + 0x7c]
jb case.0x4ad8b9.151
jmp 0x4b3033
cmp dword [esp + 0x30], 0
je 0x4b3286
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp edi, ebx
jge case.0x4ad8b9.151
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b3059
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3218
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp edx, 0xff
jbe 0x4b3227
cmp dword [esp + 0x1c], 0x6a
jmp 0x4b3239
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
inc edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b31d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, esi
cmp edi, ebx
jge 0x4b32f4
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
mov ebx, dword [eax + 0x7c]
nop
cmp esi, ebx
jae 0x4b33cc
movzx edx, word [esi]
mov edi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b32dd
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x4b3393
cmp dword [esp + 0x1c], 0x6a
jne 0x4b33b3
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, ebx
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebp
je case.0x4ad8b9.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b3359
lea esi, [ecx - 4]
mov eax, dword [esp + 0x17c]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b3332
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 + 0x40]
test byte [edx + ecx], al
je 0x4b32f4
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
lea esi, [esi + edi*2]
inc eax
mov dword [esp + 0x24], eax
cmp eax, ecx
jl 0x4b32a0
jmp 0x4b32f4
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b32fb
cmp esi, dword [edi + 0x88]
jbe 0x4b32fb
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
jmp 0x4b32fb
mov ebp, esi
cmp ebx, edi
jge 0x4b3471
nop
mov edi, dword [esp + 0x174]
cmp esi, dword [edi + 0x7c]
jae 0x4b3511
movzx ecx, word [esi]
mov edi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3455
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov edx, dword [esp + 0x40]
push 1
call fcn.004b6740
add esp, 4
test eax, eax
je 0x4b3471
inc ebx
lea esi, [esi + edi*2]
cmp ebx, dword [esp + 0x28]
jl 0x4b3410
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, ebx
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebp
je case.0x4ad8b9.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b34d7
lea esi, [ecx - 4]
mov eax, dword [esp + 0x17c]
mov edx, ebx
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b34b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [edi + 0x8c], 0
je 0x4b3478
cmp esi, dword [edi + 0x88]
jbe 0x4b3478
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b4a16
jmp 0x4b3478
cmp dword [edi + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, ecx
jb case.0x4ad8b9.151
jmp 0x4b3033
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp edi, ebp
jge case.0x4ad8b9.151
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x18]
mov ebp, dword [eax + 0x7c]
mov eax, ebp
lea ebx, [ecx + ecx]
sub eax, ebx
cmp esi, eax
ja 0x4b3627
mov edx, dword [esp + 0x20]
lea edi, [ecx + ecx]
mov ecx, esi
sub edi, 4
jb 0x4b35e1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b35ea
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b35d0
cmp edi, 0xfffffffc
je 0x4b36a3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b3627
cmp edi, 0xfffffffd
je 0x4b36a3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b3627
cmp edi, 0xfffffffe
je 0x4b36a3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b3627
cmp edi, 0xffffffff
je 0x4b36a3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4b36a3
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4b36f8
lea ebx, [ecx + ecx]
mov eax, ebp
sub eax, ebx
cmp esi, eax
ja 0x4b36f8
lea edi, [ecx + ecx]
mov ecx, esi
lea edx, [esp + 0x74]
sub edi, 4
jb 0x4b3661
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b3666
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b3650
cmp edi, 0xfffffffc
je 0x4b36a3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b36f8
cmp edi, 0xfffffffd
je 0x4b36a3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b36f8
cmp edi, 0xfffffffe
je 0x4b36a3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b36f8
cmp edi, 0xffffffff
je 0x4b36a3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b36f8
mov eax, dword [esp + 0x17c]
add esi, ebx
mov edi, dword [esp + 0x24]
inc eax
mov edx, dword [esp + 0x10]
inc edi
push eax
push dword [esp + 0x17c]
mov ecx, esi
mov dword [esp + 0x2c], edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
mov ebp, dword [esp + 0x30]
add esp, 0x14
test eax, eax
je 0x4b3598
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, ebp
jb case.0x4ad8b9.151
jmp 0x4b3066
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x1c]
jge case.0x4ad8b9.151
mov ecx, dword [esp + 0x174]
cmp esi, dword [ecx + 0x7c]
jae 0x4b3857
movzx eax, word [esi]
cmp ebx, eax
je 0x4b377d
cmp edi, eax
jne case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
add esi, 2
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push ecx
push dword [esp + 0x17c]
mov ecx, esi
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b3754
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x1c]
jge case.0x4ad8b9.151
cmp esi, dword [edi + 0x7c]
jae 0x4b3026
movzx eax, word [esi]
add esi, 2
cmp ebx, eax
jne case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b37f2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [ecx + 0x88]
jbe case.0x4ad8b9.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x4b4a10
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop word [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4ad8b9.151
mov edx, dword [esp + 0x174]
cmp esi, dword [edx + 0x7c]
jae 0x4b395b
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b390a
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
cmp edi, ecx
je case.0x4ad8b9.151
cmp ebp, ecx
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
inc ebx
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x20]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b38c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [edx + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [edx + 0x88]
jbe case.0x4ad8b9.151
mov dword [edx + 0x64], 1
cmp dword [edx + 0x8c], 1
jmp 0x4b4a10
cmp dword [ebp + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [ebp + 0x88]
jbe case.0x4ad8b9.151
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x8c], 1
jmp 0x4b4a10
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop dword [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4ad8b9.151
cmp esi, dword [ebp + 0x7c]
jae 0x4b3987
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3a2f
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
cmp edi, ecx
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
inc ebx
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b39f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebp, dword [esp + 0x174]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop dword [eax]
lea edi, [esi - 2]
cmp esi, ebx
je case.0x4ad8b9.151
mov ebp, 0xdc00
movzx eax, word [edi]
mov edx, edi
mov ecx, eax
and ecx, 0xfc00
movzx ebx, cx
cmp cx, bp
jne 0x4b3ad9
movzx eax, word [edx - 2]
cmp bx, bp
movzx ecx, ax
lea esi, [edx - 2]
mov eax, ecx
cmovne esi, edi
lea edi, [edx - 2]
cmovne edi, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3b13
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
jne 0x4b3b49
add edi, 0xfffffffe
jmp 0x4b3ac0
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x10]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
mov ebx, dword [esp + 0x30]
add esp, 0x14
test eax, eax
je 0x4b3ab0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
lea ecx, [esi - 2]
cmp esi, ebx
je case.0x4ad8b9.151
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
cmovne ecx, esi
sub ecx, 2
mov esi, ecx
cmp edi, 0x11
jne 0x4b3c05
cmp ecx, ebx
jbe 0x4b3c05
cmp word [ecx], 0xa
jne 0x4b3c05
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
cmove esi, eax
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b3bc5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x4b4517
cmp eax, 8
ja case.default.0x4af4ce
jmp dword [eax*4 + 0x4b52c4]
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
mov ecx, esi
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx eax, word [esi]
add esi, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3cba
lea esi, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b3c90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop word [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3d83
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
mov al, byte [eax*8 + 0x4ca051]
cmp al, 9
je 0x4b3db6
cmp al, 5
je 0x4b3db6
cmp al, 8
je 0x4b3db6
xor eax, eax
jmp 0x4b3dbb
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b3d40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop dword [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3e83
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add esi, 2
add ecx, 0x10000
mov edx, dword [esp + 0x3c]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], edx
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b3e40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
nop word [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3f83
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b3f40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4073
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca050]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4163
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add esi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4b419c
cmp eax, 3
je 0x4b419c
xor eax, eax
jmp 0x4b41a1
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4120
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4264
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4b42ac
cmp edx, 9
je 0x4b42ac
cmp edx, 0xa
je 0x4b42ac
cmp edx, 0xc
je 0x4b42ac
cmp edx, 0xd
je 0x4b42ac
xor eax, eax
jmp 0x4b42b1
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4221
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4374
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 6
je 0x4b43c1
cmp edx, 9
je 0x4b43c1
cmp edx, 0xa
je 0x4b43c1
cmp edx, 0xb
je 0x4b43c1
cmp edx, 0xc
je 0x4b43c1
cmp edx, 0xd
je 0x4b43c1
xor eax, eax
jmp 0x4b43c6
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4331
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edi, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b49e9
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4489
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cb130]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
mov eax, dword [eax*4 + 0x4cd710]
cmp eax, 1
je 0x4b44c9
cmp eax, 3
je 0x4b44c9
cmp edx, 0x5f
je 0x4b44c9
xor eax, eax
jmp 0x4b44ce
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4446
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
cmp edi, 0x16
jne 0x4b468a
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
mov ebx, dword [ebx + 0x7c]
cmp esi, ebx
jae 0x4b3052
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b459a
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
je case.0x4ad8b9.151
cmp esi, ebx
jae 0x4b4642
mov edi, esi
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b460b
movzx eax, word [esi + 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 + 0x4cb130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4be750]
movzx eax, byte [eax*8 + 0x4ca051]
cmp dword [eax*4 + 0x4cd710], 2
jne 0x4b4642
lea esi, [edi + edx*2]
mov edi, esi
cmp esi, ebx
jb 0x4b45d6
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov ebx, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x10]
inc ebp
push eax
push dword [esp + 0x17c]
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4555
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4b2e46
cmp ebp, dword [esp + 0x20]
jge case.0x4ad8b9.151
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x4b49e9
cmp edi, 0xc
jne 0x4b46f9
mov edx, dword [ebx + 0x18]
lea eax, [ebx + 0x1c]
test edx, edx
je 0x4b46ce
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b65c0
add esp, 0xc
test eax, eax
jne case.0x4ad8b9.151
jmp 0x4b46f9
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b46f9
mov ax, word [esi]
cmp ax, word [ebx + 0x2c]
jne 0x4b46f9
cmp edx, 1
je case.0x4ad8b9.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x2e]
je case.0x4ad8b9.151
movzx ecx, word [esi]
lea edx, [esi + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4729
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x4af4ce
jmp dword [eax*4 + 0x4b52e8]
mov esi, edx
jmp 0x4b4998
cmp ecx, 0xd
ja 0x4b4771
je 0x4b4754
cmp ecx, 0xa
je case.0x4b4735.12
lea eax, [ecx - 0xb]
jmp 0x4b477f
mov esi, edx
cmp edx, dword [ebx + 0x7c]
jae 0x4b4998
cmp word [edx], 0xa
jne 0x4b4998
lea esi, [edx + 2]
jmp 0x4b4998
cmp ecx, 0x85
je 0x4b4788
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4ad8b9.151
cmp dword [ebx + 0x68], 0
mov esi, edx
jne case.0x4ad8b9.151
jmp 0x4b4998
cmp ecx, 0x180e
ja 0x4b47cb
je case.0x4ad8b9.151
cmp ecx, 0xa0
ja 0x4b47c3
je case.0x4ad8b9.151
cmp ecx, 9
je case.0x4ad8b9.151
cmp ecx, 0x20
jmp 0x4b47ff
cmp ecx, 0x1680
jmp 0x4b47ff
cmp ecx, 0x205f
ja 0x4b47f9
je case.0x4ad8b9.151
cmp ecx, 0x2000
jb case.0x4b4735.12
cmp ecx, 0x200a
jbe case.0x4ad8b9.151
cmp ecx, 0x202f
jmp 0x4b47ff
cmp ecx, 0x3000
je case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x180e
ja 0x4b483e
je case.0x4b4735.12
cmp ecx, 0xa0
ja 0x4b4836
je case.0x4b4735.12
cmp ecx, 9
je case.0x4b4735.12
cmp ecx, 0x20
jmp 0x4b4872
cmp ecx, 0x1680
jmp 0x4b4872
cmp ecx, 0x205f
ja 0x4b486c
je case.0x4b4735.12
cmp ecx, 0x2000
jb case.0x4ad8b9.151
cmp ecx, 0x200a
jbe case.0x4b4735.12
cmp ecx, 0x202f
jmp 0x4b4872
cmp ecx, 0x3000
jne case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x85
ja 0x4b489b
je case.0x4ad8b9.151
cmp ecx, 0xa
jb case.0x4b4735.12
cmp ecx, 0xd
jmp 0x4b48ad
cmp ecx, 0x2028
jb case.0x4b4735.12
cmp ecx, 0x2029
jbe case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x85
ja 0x4b48d0
je case.0x4b4735.12
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x4b48d9
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x100
jae case.0x4b4735.12
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
jne case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x100
jae case.0x4ad8b9.151
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
je case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x100
jae case.0x4b4735.12
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
jne case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x100
jae case.0x4ad8b9.151
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
je case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x100
jae case.0x4b4735.12
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x4ad8b9.151
mov esi, edx
jmp 0x4b4998
cmp ecx, 0x100
jae case.0x4ad8b9.151
mov eax, dword [ebx + 0x3c]
mov esi, edx
test byte [ecx + eax], 0x10
je case.0x4ad8b9.151
mov eax, dword [esp + 0x17c]
mov ecx, esi
mov edx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push ebx
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4692
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
cmp dword [ebx + 0x8c], 0
je case.0x4ad8b9.151
cmp esi, dword [ebx + 0x88]
jbe case.0x4ad8b9.151
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x8c], 1
jle case.0x4ad8b9.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + ebp*4]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + ebp*4 + 4]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0x94]
sub eax, edx
mov edx, dword [esp + 0x174]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
mov eax, esi
sub eax, dword [edx + 0x78]
mov ebx, dword [edx + 0xb0]
sar eax, 1
mov dword [ecx], eax
cmp dword [esp + 0x1c], 0x82
jb 0x4b4a76
mov dword [edx + 0x9c], 2
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
push edx
movzx eax, byte [eax + 0x4cd330]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004ad780
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x4b4b49
cmp edx, 0xfffffc20
jne 0x4b4b03
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x4b4b7d
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x4b4aff
cmp word [eax], 0x71
jne 0x4b4b7d
xor edx, edx
jmp 0x4b4b12
test edx, edx
jne 0x4b4b7d
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x94], edi
mov ecx, dword [esp + 0x10]
movzx eax, word [eax + 2]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0xb0], ebx
cmp word [eax], 0x71
jne 0x4b4b50
mov edx, ecx
jmp 0x4b4a62
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
mov dword [eax + ebp*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [eax + ebp*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x48]
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 0x4b4bc5
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp eax, 0x7b
je 0x4b4bba
cmp eax, 0x71
jne 0x4b4bb1
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
je 0x4b4ba3
movzx eax, word [ecx + 2]
neg eax
lea ecx, [ecx + eax*2]
xor eax, eax
cmp dword [ebx + 0xb8], ecx
cmove edx, eax
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x10]
lea ebx, [edx + 4]
mov dword [edi + 0xb4], ebx
mov dword [edi + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push edi
movzx ecx, byte [eax + 0x4cd330]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, esi
call fcn.004ad780
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x4b4c34
cmp edi, 0xfffffc19
jne 0x4b4c57
mov ebp, dword [esp + 0x174]
cmp dword [ebp + 0xb0], 0
jne 0x4b4c5e
mov dword [ebp + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
cmp edi, 0xfffffc1f
jne 0x4b2f9a
mov edx, dword [ebp + 0x80]
mov ecx, ebx
call fcn.004b64b0
test eax, eax
jne 0x4b2f9a
mov dword [ebp + 0x80], esi
lea eax, [edi - 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4cd330]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4cee
cmp eax, 0xfffffc1d
je 0x4b4cee
cmp eax, 0xfffffc1e
je 0x4b4cee
cmp eax, 0xfffffc1f
je 0x4b4cee
cmp eax, 0xfffffc20
jne 0x4b2e46
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4cd330]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4dd7
cmp eax, 0xfffffc20
je 0x4b4dd7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x174]
lea edi, [edx + 4]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebx
movzx ecx, byte [eax + 0x4cd330]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, esi
call fcn.004ad780
add esp, 0x14
cmp eax, 1
je 0x4b4db9
cmp eax, 0xfffffc19
jne 0x4b4dc8
cmp dword [ebx + 0xb0], 0
jne 0x4b4dc8
mov dword [ebx + 0xb0], edi
test eax, eax
je 0x4b4dd7
cmp eax, 0xfffffc20
jne 0x4b2e46
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4cd330]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4e34
cmp eax, 0xfffffc1d
je 0x4b4e34
cmp eax, 0xfffffc20
jne 0x4b2e46
mov dword [edi + 0x80], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4cd330]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004ad780
add esp, 0x14
test eax, eax
je 0x4b4f13
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x174]
lea edi, [edx + 4]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebx
movzx ecx, byte [eax + 0x4cd330]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, esi
call fcn.004ad780
add esp, 0x14
cmp eax, 1
je 0x4b4efa
cmp eax, 0xfffffc19
jne 0x4b4f09
cmp dword [ebx + 0xb0], 0
jne 0x4b4f09
mov dword [ebx + 0xb0], edi
test eax, eax
jne 0x4b2e46
mov edi, ebx
mov eax, dword [esp + 0x10]
mov dword [edi + 0x80], eax
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebx, dword [esp + 0x16c]
cmp esi, ebx
jne 0x4b4f6d
cmp edx, 0x99
je 0x4b4f6d
cmp dword [edi + 0xa8], 0
jne 0x4b4f6d
cmp dword [edi + 0x5c], 0
jne case.0x4ad8b9.151
cmp dword [edi + 0x60], 0
je 0x4b4f6d
mov ecx, dword [edi + 0x98]
mov eax, dword [edi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x4ad8b9.151
mov eax, dword [esp + 0x170]
test bp, bp
mov dword [edi + 0x84], esi
mov ecx, 1
mov dword [edi + 0x90], eax
mov eax, 0xfffffc19
mov dword [edi + 0x80], ebx
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