Function at 0x4acc90
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 0x4acceb
cmp dword [esp + 0x17c], edx
jne 0x4accd0
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004acc90
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 0x4b233e
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 0x4b4481
cmp dword [edi + 0x9c], 2
jne 0x4acd90
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 0x4acd90
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x10]
jmp 0x4acd97
je case.0x4acdcb.151
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x170]
movzx ecx, word [edx]
mov ebp, ebx
mov dword [esp + 0x28], edx
mov ebx, ecx
mov edx, ecx
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], edx
cmp edx, 0x9b
ja case.0x4acdcb.98
movzx eax, byte [edx + 0x4b45dc]
jmp dword [eax*4 + 0x4b4494]
cmp dword [edi + 0x70], 0
movzx ecx, byte [edx + 0x4eda08]
je 0x4b240c
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 2]
add ecx, eax
lea edx, [edx + ecx*2]
mov dword [esp + 0x10], edx
jmp 0x4acd90
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.004acc90
add esp, 0x14
cmp eax, 1
je 0x4acf09
cmp eax, 0xfffffc20
jne 0x4ace7a
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 0x4b2346
mov edx, dword [esp + 0x10]
cmp word [edx], 0x71
je 0x4ace86
cmp word [ecx], 0x71
jne 0x4b2346
jmp 0x4ace86
test eax, eax
jne 0x4b2346
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 0x4ace04
mov edi, dword [esp + 0x174]
movzx eax, cx
cmp eax, 0x7c
je 0x4acec4
cmp eax, 0x71
jne case.0x4acdcb.151
movzx eax, word [edx + 2]
lea edx, [edx + eax*2]
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x71
je 0x4acec4
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 0x4acefd
cmp esi, ebx
jne 0x4b2090
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4acd90
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 0x4aceb3
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x28], ebp
jmp 0x4ada3c
mov ebx, dword [esp + 0x10]
cmp word [ebx + 4], 0x70
movzx edi, word [ebx + 2]
jne 0x4ad031
mov ecx, dword [0x509398]
test ecx, ecx
je 0x4ad02a
mov dword [esp + 0xb8], 2
movzx eax, word [ebx + 6]
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xbc], eax
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 0x78]
mov dword [esp + 0xc4], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x16c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [esp + 0xcc], eax
mov eax, esi
sub eax, dword [ebx + 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 [ebx + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [ebx + 0xac]
mov dword [esp + 0xdc], eax
mov eax, dword [ebx + 0xb4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xb8]
push eax
call ecx
add esp, 4
test eax, eax
jg case.0x4acdcb.151
js 0x4b2346
mov ebx, dword [esp + 0x10]
add ebx, 0xc
mov dword [esp + 0x10], ebx
movzx ecx, word [ebx + 4]
lea edx, [ebx + 4]
cmp ecx, 0x89
je 0x4ad203
cmp ecx, 0x8a
je 0x4ad203
cmp ecx, 0x87
je 0x4ad0c8
cmp ecx, 0x88
je 0x4ad0c8
cmp ecx, 0x8b
jne 0x4ad074
movzx eax, word [ebx + 2]
lea ecx, [ebx + eax*2]
jmp 0x4ad386
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.004acc90
add esp, 0x14
cmp eax, 1
je 0x4b2117
test eax, eax
je 0x4ad0c1
cmp eax, 0xfffffc20
jne 0x4b2346
xor edx, edx
jmp 0x4ad375
movzx edi, word [ebx + 6]
mov ebp, dword [esp + 0x174]
lea edx, [edi + edi]
cmp edx, dword [esp + 0x170]
jge 0x4ad0ec
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4ad36b
cmp ecx, 0x88
jne 0x4ad1f8
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x28]
mov ebx, eax
test edx, edx
jle 0x4ad1f4
xor ecx, ecx
mov ebp, eax
mov esi, ecx
nop
movzx eax, word [ebx]
cmp eax, edi
je 0x4ad133
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 0x4ad110
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x14]
cmp ecx, edx
jge 0x4ad1f4
mov eax, dword [esp + 0x174]
mov edi, ebx
cmp ebx, dword [eax + 0x28]
jbe 0x4ad1a0
mov eax, dword [eax + 0x24]
lea ecx, [ebx + 2]
neg eax
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004b5980
test eax, eax
jne 0x4ad199
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4ad18b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4ad36b
mov eax, dword [esp + 0x174]
cmp edi, dword [eax + 0x28]
ja 0x4ad151
jmp 0x4ad1a0
mov eax, dword [esp + 0x174]
mov ebp, dword [esp + 0x2c]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4ad1f4
lea edi, [ebx + 2]
nop dword [eax]
mov eax, dword [eax + 0x24]
mov ecx, edi
lea ebx, [ebx + eax*2]
lea edx, [ebx + 2]
call fcn.004b5980
test eax, eax
jne 0x4ad1f4
movzx eax, word [ebx]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4ad1e7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4ad36b
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x4ad1b0
mov ebx, dword [esp + 0x10]
movzx edi, word [ebx + 2]
xor edx, edx
jmp 0x4ad375
mov edi, dword [esp + 0x174]
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x4ad220
movzx eax, word [ebx + 2]
lea ecx, [ebx + eax*2]
jmp 0x4ad38d
movzx edi, word [ebx + 6]
cmp edi, 0xffff
je 0x4ad36b
cmp edi, dword [eax + 4]
je 0x4ad36b
xor edx, edx
mov dword [esp + 0x24], edx
cmp ecx, 0x8a
jne 0x4ad35d
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 0x4ad35d
mov edx, ecx
mov esi, eax
xor ecx, ecx
movzx eax, word [ebx]
cmp eax, edi
je 0x4ad292
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 0x4ad276
jmp 0x4ad296
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 0x4ad35d
mov eax, dword [esp + 0x174]
mov edi, ebx
cmp ebx, dword [eax + 0x28]
jbe 0x4ad30c
lea ebp, [ebx + 2]
mov esi, eax
mov eax, dword [esi + 0x24]
mov ecx, ebp
neg eax
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004b5980
test eax, eax
jne 0x4ad2f5
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 0x4ad2f5
cmp edi, dword [esi + 0x28]
ja 0x4ad2c1
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 0x4ad370
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4ad361
mov esi, dword [esp + 0x174]
lea edi, [ebx + 2]
mov eax, dword [esi + 0x24]
mov ecx, edi
lea ebx, [ebx + eax*2]
lea edx, [ebx + 2]
call fcn.004b5980
test eax, eax
jne 0x4ad355
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 0x4ad359
inc ebp
cmp ebp, dword [esi + 0x20]
jl 0x4ad320
jmp 0x4ad359
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
test edx, edx
jne 0x4ad370
mov eax, dword [esp + 0x10]
movzx edi, word [eax + 2]
jmp 0x4ad375
mov edx, 1
mov edi, 2
mov eax, dword [esp + 0x10]
lea ecx, [eax + edi*2]
mov eax, ecx
test edx, edx
jne 0x4b2153
mov edi, dword [esp + 0x174]
cmp word [ecx], 0x71
mov eax, ecx
je 0x4b215a
lea edx, [ecx + 4]
mov dword [esp + 0x10], edx
jmp 0x4acd90
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 0x4ad3e2
mov edx, dword [esp + 0x10]
mov edi, eax
add edx, 4
mov dword [esp + 0x10], edx
mov dword [edi + 0x40], 1
jmp 0x4acd97
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 0x4ad413
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
mov edx, dword [esp + 0x10]
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4acd97
mov ebp, dword [esp + 0x174]
mov edi, dword [edi + 0xb0]
cmp dword [ebp + 0x9c], 1
jne 0x4ad44a
mov dword [ebp + 0x9c], 0
mov ebx, 1
jmp 0x4ad44c
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.004acc90
add esp, 0x14
cmp eax, 1
je 0x4ad4b5
cmp eax, 0xfffffc19
je 0x4ad4b5
test eax, eax
je 0x4ad492
cmp eax, 0xfffffc20
jne 0x4b2346
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 0x4ad450
mov edi, ebp
jmp 0x4ad4cb
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.0x4acdcb.151
test ebx, ebx
jne 0x4b2515
nop dword [eax]
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4ad4e0
mov ebx, dword [edi + 0x90]
add edx, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x170], ebx
jmp 0x4acd97
mov ebp, dword [esp + 0x174]
mov edi, dword [edi + 0xb0]
cmp dword [ebp + 0x9c], 1
jne 0x4ad52e
mov dword [ebp + 0x9c], 0
mov ebx, 1
jmp 0x4ad530
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.004acc90
add esp, 0x14
mov dword [ebp + 0xb0], edi
cmp eax, 1
je case.0x4acdcb.151
cmp eax, 0xfffffc19
je case.0x4acdcb.151
cmp eax, 0xfffffc1e
je 0x4ad5b1
cmp eax, 0xfffffc1d
je 0x4ad5b1
cmp eax, 0xfffffc1a
je 0x4ad5b1
test eax, eax
je 0x4ad599
cmp eax, 0xfffffc20
jne 0x4b2346
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 0x4ad534
jmp 0x4ad5ce
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 0x4ad5c0
test ebx, ebx
jne 0x4b2515
add edx, 4
mov edi, ebp
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov edx, dword [esp + 0x10]
movzx ecx, word [edx + 2]
test ecx, ecx
je 0x4ad632
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.0x4acdcb.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 0x4ad600
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x10]
cmp esi, dword [edi + 0x88]
jae 0x4ad640
mov dword [edi + 0x88], esi
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov ecx, dword [0x509398]
test ecx, ecx
je 0x4ad72d
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.0x4acdcb.151
js 0x4b2346
mov edx, dword [esp + 0x10]
add edx, 0xc
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x74]
movzx eax, word [edx + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x4ad753
xor ecx, ecx
jmp 0x4ad757
movzx ecx, word [ebx + 4]
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x4ad775
cmp ecx, dword [eax + 4]
jne 0x4ad76f
cmp esi, dword [eax + 0x10]
je 0x4b2471
mov eax, dword [eax]
test eax, eax
jne 0x4ad761
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 0x4ad7b1
lea eax, [esp + 0xf0]
mov dword [esp + 0x58], eax
jmp 0x4ad7d1
lea eax, [ecx*4]
push eax
call fcn.004bb7a0
add esp, 4
mov dword [esp + 0x58], eax
test eax, eax
je 0x4b24a6
mov ecx, dword [esp + 0x5c]
shl ecx, 2
push ecx
push dword [edi + 0xc]
push eax
call fcn.004b9800
movzx ebp, word [ebx]
add esp, 0xc
mov eax, 0x82
cmp bp, ax
jb 0x4ad7f8
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 + 0x4eda08]
push dword [esp + 0x17c]
lea edx, [ebx + eax*2]
call fcn.004acc90
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 fcn.004b9800
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [ecx + 0xa8], eax
cmp edi, 1
je 0x4ad8c9
cmp edi, 0xfffffc19
je 0x4ad8c9
test edi, edi
je 0x4ad87c
cmp edi, 0xfffffc20
jne 0x4b2481
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 0x4ad7e4
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xf0]
mov dword [edi + 0xa8], eax
mov eax, dword [esp + 0x58]
cmp eax, ecx
je case.0x4acdcb.151
push eax
call fcn.004bb7ab
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 0x4ad8e1
push eax
call fcn.004bb7ab
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 0x4acd8c
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 0x4ad910
mov dword [esp + 0x10], edx
jmp 0x4acd90
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop dword [eax + eax]
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4ad970
lea edx, [edi + 4]
mov edi, dword [esp + 0x174]
mov dword [esp + 0x10], edx
jmp 0x4acd97
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 0x4ad9a0
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov edx, dword [esp + 0x10]
jmp 0x4acd97
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 0x4ad9f3
lea edx, [ecx + 4]
mov dword [esp + 0x10], edx
jmp 0x4acd90
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 0x4ada3c
cmp edx, 0x85
jne 0x4adc0d
movzx edx, word [eax + 4]
mov dword [esp + 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [edi + 0x14]
jge 0x4adc03
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 0x4adaca
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 + 0x4eda08]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004acc90
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4adb46
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 0x4ada8e
cmp ecx, 0xfffffc20
jne 0x4adb85
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 0x4adb78
mov edx, dword [esp + 0x10]
cmp word [edx], 0x71
je 0x4adb8d
cmp word [eax], 0x71
je 0x4adb8d
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x4adb78
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 0x4ada94
mov edi, ecx
test ebp, ebp
jne 0x4adbe4
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 0x4acefd
test ebp, ebp
je case.0x4acdcb.151
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4acd90
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 0x4adc32
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 + 0x4eda08]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004acc90
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4adcac
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 0x4adc20
cmp ecx, 0xfffffc20
jne 0x4adce2
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 0x4adb78
mov edx, dword [esp + 0x10]
cmp word [edx], 0x71
je 0x4adcea
cmp word [eax], 0x71
jmp 0x4adce4
test ecx, ecx
jne 0x4adb78
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 0x4adc20
test ebx, ebx
jne 0x4add1b
test ebp, ebp
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
mov edi, ecx
add edx, 4
mov dword [esp + 0x10], edx
jmp 0x4acd90
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 0x4add58
cmp ecx, 0x7b
je 0x4add58
mov dword [esp + 0x2c], 0
jmp 0x4add71
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 0x4add7f
cmp ecx, 0x7a
jbe 0x4b24f5
cmp ecx, 0x7c
je 0x4b24f5
cmp ecx, 0x7f
je 0x4addab
mov eax, 0x84
cmp cx, ax
je 0x4addab
mov eax, 0x80
cmp cx, ax
je 0x4addab
mov eax, 0x85
cmp cx, ax
jne 0x4adddf
movzx ebx, word [ebp + 4]
mov eax, dword [edi + 0xa8]
lea edx, [ebx + ebx]
test eax, eax
je 0x4addc5
cmp dword [eax + 4], ebx
je 0x4b24b6
mov dword [edi + 0x94], ebx
cmp edx, dword [edi + 0x14]
jl 0x4ade4d
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 0x4addfa
cmp esi, dword [esp + 0x2c]
jne 0x4b21ad
add edx, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x10], edx
jne 0x4acd97
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
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 0x4ade78
mov eax, dword [edi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x4ade71
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 0x4adea9
lea ebx, [edx + 2]
mov dword [esp + 0x170], ebx
mov edx, dword [esp + 0x10]
jmp 0x4adde6
cmp dword [edi + 0x44], 0
je case.0x4acdcb.1
cmp esi, dword [edi + 0x78]
je case.0x4acdcb.151
cmp esi, dword [edi + 0x78]
jne case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp dword [edi + 0x44], 0
je 0x4adee9
cmp esi, dword [edi + 0x78]
je case.0x4acdcb.151
mov ecx, dword [edi + 0x78]
cmp esi, ecx
je 0x4adeca
cmp esi, dword [edi + 0x7c]
je case.0x4acdcb.151
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4adf31
cmp esi, ecx
jbe case.0x4acdcb.151
push 1
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004b5b30
add esp, 0xc
test eax, eax
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov edi, dword [edi + 0x1c]
lea edx, [edi + edi]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x4acdcb.151
mov ecx, esi
sub ecx, edx
mov edx, dword [esp + 0x174]
mov ax, word [ecx]
cmp ax, word [edx + 0x2c]
jne case.0x4acdcb.151
cmp edi, 1
mov edi, edx
je 0x4adeca
mov ax, word [ecx + 2]
cmp ax, word [edi + 0x2e]
jne case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov ecx, dword [edi + 0x98]
mov eax, dword [edi + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
jmp 0x4adec4
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x16c], esi
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov ecx, dword [edi + 0x7c]
cmp esi, ecx
jae 0x4ae017
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4adfe4
push 1
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004b5a90
add esp, 0xc
test eax, eax
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov edx, dword [edi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja case.0x4acdcb.151
mov ax, word [esi]
cmp ax, word [edi + 0x2c]
jne case.0x4acdcb.151
cmp edx, 1
je 0x4adeca
mov ax, word [esi + 2]
cmp ax, word [edi + 0x2e]
jmp 0x4adec4
cmp dword [edi + 0x48], 0
jne case.0x4acdcb.151
cmp dword [edi + 0x8c], 0
je 0x4adeca
cmp esi, dword [edi + 0x88]
jbe 0x4adeca
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp dword [edi + 0x48], 0
jne case.0x4acdcb.151
cmp dword [edi + 0x58], 0
je case.0x4acdcb.23
cmp esi, dword [edi + 0x7c]
jb case.0x4acdcb.151
jmp 0x4ae021
mov edi, dword [edi + 0x7c]
cmp esi, edi
jae 0x4ae0ec
mov ebp, dword [esp + 0x174]
mov edx, dword [ebp + 0x18]
lea ebx, [ebp + 0x1c]
test edx, edx
je 0x4ae0ae
push 1
push ebx
push edi
mov ecx, esi
call fcn.004b5a90
add esp, 0xc
test eax, eax
je case.0x4acdcb.151
mov edx, dword [ebx]
mov edi, dword [ebp + 0x7c]
jmp 0x4ae0df
mov edx, dword [ebx]
mov ecx, edi
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja case.0x4acdcb.151
mov ax, word [esi]
cmp ax, word [ebp + 0x2c]
jne case.0x4acdcb.151
cmp edx, 1
je 0x4ae0df
mov ax, word [esi + 2]
cmp ax, word [ebp + 0x2e]
jne case.0x4acdcb.151
lea eax, [edx + edx]
sub edi, eax
cmp esi, edi
jne case.0x4acdcb.151
mov edi, dword [esp + 0x174]
jmp 0x4ae021
cmp esi, dword [edi + 0x78]
je 0x4ae1bb
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 0x4ae12c
mov dword [edi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae157
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 0x4ae1a3
cmp ecx, 0x5f
jne 0x4ae167
lea edx, [ecx - 0x5e]
jmp 0x4ae1bd
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4ae19c
cmp eax, 3
jne 0x4ae1bb
mov edx, 1
jmp 0x4ae1bd
cmp ecx, 0x100
jae 0x4ae1bb
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je 0x4ae1bb
mov edx, 1
jmp 0x4ae1bd
xor edx, edx
cmp esi, dword [edi + 0x7c]
jb 0x4ae20e
cmp dword [edi + 0x8c], 0
je 0x4ae1e7
cmp esi, dword [edi + 0x88]
jbe 0x4ae1e7
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
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 0x4ae201
xor ecx, 1
test ecx, ecx
jne case.0x4acdcb.151
jmp 0x4acd8c
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae239
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 0x4ae28e
cmp ecx, 0x5f
jne 0x4ae24b
mov ecx, 1
jmp 0x4ae1e9
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4ae284
cmp eax, 3
jne 0x4ae1e7
mov ecx, 1
jmp 0x4ae1e9
cmp ecx, 0x100
jae 0x4ae1e7
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je 0x4ae1e7
mov ecx, 1
jmp 0x4ae1e9
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x7c]
test edx, edx
je 0x4ae2da
cmp esi, ecx
jae case.0x4acdcb.13
push 1
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004b5a90
add esp, 0xc
test eax, eax
jne case.0x4acdcb.151
jmp case.0x4acdcb.13
mov edx, dword [edi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja case.0x4acdcb.13
mov ax, word [esi]
cmp ax, word [edi + 0x2c]
jne case.0x4acdcb.13
cmp edx, 1
je case.0x4acdcb.151
mov ax, word [esi + 2]
cmp ax, word [edi + 0x2e]
je case.0x4acdcb.151
mov eax, dword [edi + 0x7c]
cmp esi, eax
jae 0x4b2525
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, eax
jae 0x4adeca
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4adeca
mov edx, dword [esp + 0x10]
add esi, 2
add edx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
mov edx, dword [esp + 0x10]
add esi, 2
add edx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae3b1
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 0x4adeca
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 4
jmp 0x4adec4
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae40a
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.0x4acdcb.151
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 4
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae474
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 0x4adeca
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
jmp 0x4adec4
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae4cd
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.0x4acdcb.151
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 1
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae537
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 0x4adeca
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
jmp 0x4adec4
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae590
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.0x4acdcb.151
mov eax, dword [edi + 0x3c]
test byte [ecx + eax], 0x10
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov edi, dword [edi + 0x7c]
cmp esi, edi
jae 0x4b2551
movzx ecx, word [esi]
lea edx, [esi + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae5f4
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 0x4ae654
je 0x4ae622
cmp ecx, 0xa
je 0x4ae605
lea eax, [ecx - 0xb]
jmp 0x4ae662
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 0x4acd90
mov esi, edx
mov dword [esp + 0x14], esi
cmp edx, edi
jae 0x4ae63d
cmp word [edx], 0xa
mov dword [esp + 0x14], esi
jne 0x4ae63d
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 0x4acd90
cmp ecx, 0x85
je 0x4ae66b
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4acdcb.151
mov edi, dword [esp + 0x174]
mov esi, edx
mov dword [esp + 0x14], esi
cmp dword [edi + 0x68], 0
jmp 0x4adec4
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae6c2
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 0x4ae71c
je case.0x4acdcb.151
cmp ecx, 0xa0
ja 0x4ae700
je case.0x4acdcb.151
cmp ecx, 9
je case.0x4acdcb.151
cmp ecx, 0x20
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp ecx, 0x1680
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp ecx, 0x205f
ja 0x4ae75e
je case.0x4acdcb.151
cmp ecx, 0x2000
jb 0x4adeca
cmp ecx, 0x200a
jbe case.0x4acdcb.151
cmp ecx, 0x202f
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp ecx, 0x3000
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae7bb
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 0x4ae7f3
je 0x4adeca
cmp ecx, 0xa0
ja 0x4ae7e8
je 0x4adeca
cmp ecx, 9
je 0x4adeca
cmp ecx, 0x20
jmp 0x4adec4
cmp ecx, 0x1680
jmp 0x4adec4
cmp ecx, 0x205f
ja 0x4ae824
je 0x4adeca
cmp ecx, 0x2000
jb case.0x4acdcb.151
cmp ecx, 0x200a
jbe 0x4adeca
cmp ecx, 0x202f
jmp 0x4adec4
cmp ecx, 0x3000
jmp 0x4adec4
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae870
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 0x4ae8a0
je case.0x4acdcb.151
cmp ecx, 0xa
jb 0x4adeca
cmp ecx, 0xd
jbe case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp ecx, 0x2028
jb 0x4adeca
cmp ecx, 0x2029
jbe case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae909
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 0x4ae933
je 0x4adeca
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 2
mov dword [esp + 0x10], edx
jmp 0x4acd90
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ae993
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 + 0x4eb808]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx ecx, word [ebx + 2]
cmp ecx, 8
ja case.default.0x4ae9c2
jmp dword [ecx*4 + 0x4b4678]
cmp dword [esp + 0x1c], 0xf
jmp 0x4aeb05
mov al, byte [eax*8 + 0x4ea729]
cmp al, 9
je 0x4aeaf4
cmp al, 5
je 0x4aeaf4
cmp al, 8
je 0x4aeaf4
xor ecx, ecx
jmp 0x4aeaf9
movzx ecx, byte [eax*8 + 0x4ea729]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4edde8]
setne dl
xor eax, eax
cmp dword [esp + 0x1c], 0x10
sete al
cmp edx, eax
jmp 0x4aeb05
movzx eax, byte [eax*8 + 0x4ea729]
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.0x4acdcb.151
add edx, 6
mov dword [esp + 0x10], edx
jmp 0x4acd90
movzx eax, byte [eax*8 + 0x4ea728]
jmp 0x4aea2a
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4aeaf4
cmp eax, 3
je 0x4aeaf4
xor ecx, ecx
jmp 0x4aeaf9
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4aeaf4
cmp edx, 9
je 0x4aeaf4
cmp edx, 0xa
je 0x4aeaf4
cmp edx, 0xc
je 0x4aeaf4
cmp edx, 0xd
je 0x4aeaf4
xor ecx, ecx
jmp 0x4aeaf9
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4aeaf4
cmp edx, 9
je 0x4aeaf4
cmp edx, 0xa
je 0x4aeaf4
cmp edx, 0xb
jmp 0x4aeaa1
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4aeaf4
cmp eax, 3
je 0x4aeaf4
cmp edx, 0x5f
je 0x4aeaf4
xor ecx, ecx
jmp 0x4aeaf9
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0xf
sete al
cmp ecx, eax
je case.0x4acdcb.151
mov edx, dword [esp + 0x10]
add edx, 6
mov dword [esp + 0x10], edx
jmp 0x4acd90
mov ebx, dword [edi + 0x7c]
cmp esi, ebx
jae 0x4b2525
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aeb5e
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
je case.0x4acdcb.151
cmp esi, ebx
jae 0x4adeca
mov edi, esi
nop word [eax + eax]
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aebd5
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
jne 0x4ae639
lea esi, [edi + edx*2]
mov edi, esi
cmp esi, ebx
jb 0x4aeba0
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x174]
add edx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
jmp 0x4acd90
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 0x4aec6a
mov eax, dword [edi + 0xc]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x4aec6a
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, edi
jmp 0x4aec7b
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.0x4aec93
movzx eax, byte [eax + 0x4b46a4]
jmp dword [eax*4 + 0x4b469c]
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 + 0x4de972]
and eax, 1
mov dword [esp + 0x38], eax
test ebx, ebx
mov eax, closesocket
cmove ebx, eax
jmp 0x4aecee
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 0x4acd85
jns 0x4aed04
test edi, edi
je 0x4acd85
mov ebx, 1
cmp edi, ebx
jl 0x4aed3f
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, esi
push ebp
call fcn.004acae0
add esp, 0xc
test eax, eax
js 0x4b2584
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 0x4aed10
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4acd85
cmp dword [esp + 0x38], 0
je 0x4b25a3
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov ebx, dword [esp + 0x2c]
cmp edi, dword [esp + 0x28]
jge case.0x4acdcb.151
push dword [esp + 0x24]
mov edx, esi
mov ecx, ebx
push dword [esp + 0x178]
push ebp
call fcn.004acae0
add esp, 0xc
test eax, eax
js 0x4b2584
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.004acc90
add esp, 0x14
test eax, eax
je 0x4aed95
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.004acae0
add esp, 0xc
test eax, eax
js 0x4b2673
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
jmp 0x4acd8c
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.0x4aee58
movzx eax, byte [eax + 0x4b46b4]
jmp dword [eax*4 + 0x4b46ac]
movsx edi, byte [ecx + str.space]
mov ebx, ecx
movsx ecx, byte [ecx + 0x4de972]
and ebx, 1
mov edx, dword [esp + 0x10]
test ecx, ecx
mov eax, closesocket
mov dword [esp + 0x30], ebx
cmove ecx, eax
mov eax, 2
jmp 0x4aeeb2
xor eax, eax
cmp edx, 0x69
mov edx, dword [esp + 0x10]
sete al
mov dword [esp + 0x30], eax
mov eax, closesocket
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 0x4aef68
jmp 0x4aeedc
mov edi, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], edi
mov ebx, 1
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b2558
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aef38
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 0x4aef47
cmp dword [esp + 0x1c], 0x6a
jmp 0x4aef59
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.0x4acdcb.151
inc ebx
cmp ebx, edi
jle 0x4aeef0
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
cmp edi, ebx
jne 0x4b268e
mov edi, dword [esp + 0x174]
jmp 0x4acd90
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.0x4aefaf
movzx eax, byte [eax + 0x4b46c4]
jmp dword [eax*4 + 0x4b46bc]
movsx eax, byte [ecx + 0x4de972]
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 0x4af01e
mov dword [esp + 0x28], connect
jmp 0x4af01e
movzx ebx, word [edi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
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 0x4af01e
mov dword [esp + 0x28], 1
mov ebx, 1
mov edi, 1
cmp ebx, edi
jl 0x4af091
nop word [eax + eax]
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b2558
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af078
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.004b5c10
add esp, 4
test eax, eax
je case.0x4acdcb.151
inc edi
cmp edi, ebx
jle 0x4af030
mov edi, dword [esp + 0x28]
cmp ebx, edi
je 0x4acd85
cmp dword [esp + 0x30], 0
je 0x4b2905
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp ebx, edi
jge case.0x4acdcb.151
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b2558
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4af12b
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.004b5c10
add esp, 4
test eax, eax
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4af0e3
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 0x4b2a43
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.0x4acdcb.151
test edx, edx
jg 0x4af1b7
jmp 0x4acd8c
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
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 0x4af226
movzx eax, word [edx]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov ebx, 4
add edi, 0x10000
jmp 0x4af22b
mov ebx, 2
movzx eax, word [esi]
cmp edi, 0x80
jae 0x4af275
mov ebx, 0xff
mov ecx, eax
cmp ax, bx
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x34]
ja 0x4af252
movzx ecx, byte [eax + ecx]
jmp 0x4af256
mov dword [esp + 0x10], edx
movzx eax, byte [eax + edi]
cmp eax, ecx
jne case.0x4acdcb.151
mov edi, dword [esp + 0x174]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4acd90
mov edx, eax
add esi, 2
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4af2aa
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 0x4acd72
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4eb808]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
mov eax, dword [eax*8 + 0x4ea72c]
add eax, edi
cmp edx, eax
jne case.0x4acdcb.151
jmp 0x4acd85
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 2]
lea edi, [ecx + 4]
mov ebp, eax
jmp 0x4af3cc
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 0x4af32e
mov dword [esp + 0x30], ebp
cmp ecx, 0x35
jne 0x4af336
mov dword [esp + 0x30], 1
lea edi, [ebx + 4]
jmp 0x4af3d4
mov edi, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add edi, 2
mov dword [esp + 0x1c], connect
jmp 0x4af3d0
mov edi, dword [esp + 0x10]
mov ebp, 1
mov dword [esp + 0x38], 1
add edi, 2
mov dword [esp + 0x1c], connect
jmp 0x4af3d0
mov edi, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add edi, 2
mov dword [esp + 0x1c], 1
jmp 0x4af3d0
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, closesocket
movsx ebp, byte [eax + 0x4de9dc]
movsx eax, byte [eax + 0x4de9d4]
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 0x4af415
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 0x4af7ef
cmp edx, 0x2e
jb 0x4af464
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x4eb808]
mov eax, ebx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
mov ecx, dword [eax*8 + 0x4ea72c]
add ecx, ebx
cmp ecx, ebx
je 0x4af464
lea edx, [esp + 0x74]
call fcn.004b5a30
mov dword [esp + 0x2c], eax
jmp 0x4af46c
mov dword [esp + 0x2c], 0
mov edi, dword [esp + 0x24]
mov ebp, 1
cmp edi, ebp
jl 0x4af5ac
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 0x4af50d
lea edi, [edx + edx]
mov ecx, esi
mov edx, dword [esp + 0x20]
sub edi, 4
jb 0x4af4c3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4af4cc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4af4b2
cmp edi, 0xfffffffc
je 0x4af589
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4af509
cmp edi, 0xfffffffd
je 0x4af589
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4af509
cmp edi, 0xfffffffe
je 0x4af589
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4af509
cmp edi, 0xffffffff
je 0x4af589
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4af589
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
test edx, edx
jle 0x4b2584
lea ebx, [edx + edx]
mov eax, ecx
sub eax, ebx
cmp esi, eax
ja 0x4b2584
lea edi, [edx + edx]
mov ecx, esi
lea edx, [esp + 0x74]
sub edi, 4
jb 0x4af547
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4af54c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4af536
cmp edi, 0xfffffffc
je 0x4af589
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b2584
cmp edi, 0xfffffffd
je 0x4af589
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b2584
cmp edi, 0xfffffffe
je 0x4af589
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b2584
cmp edi, 0xffffffff
je 0x4af589
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b2584
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 0x4af4a0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x170]
cmp edi, ebp
je 0x4acd72
cmp dword [esp + 0x30], 0
jne 0x4b2a5d
mov ebx, esi
mov dword [esp + 0x30], ebx
cmp edi, ebp
jge 0x4af70c
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 0x4af662
mov edx, dword [esp + 0x20]
lea edi, [ecx + ecx]
mov ecx, esi
sub edi, 4
jb 0x4af618
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4af621
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4af607
cmp edi, 0xfffffffc
je 0x4af6e3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4af65e
cmp edi, 0xfffffffd
je 0x4af6e3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4af65e
cmp edi, 0xfffffffe
je 0x4af6e3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4af65e
cmp edi, 0xffffffff
je 0x4af6e3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4af6e3
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4af7b5
lea ebx, [ecx + ecx]
sub eax, ebx
cmp esi, eax
ja 0x4af7b5
lea edi, [ecx + ecx]
mov ecx, esi
lea edx, [esp + 0x74]
sub edi, 4
jb 0x4af6a1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4af6a6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4af690
cmp edi, 0xfffffffc
je 0x4af6e3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4af7b5
cmp edi, 0xfffffffd
je 0x4af6e3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4af7b5
cmp edi, 0xfffffffe
je 0x4af6e3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4af7b5
cmp edi, 0xffffffff
je 0x4af6e3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4af7b5
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 0x4af5f5
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4acd8c
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov ecx, esi
cmp esi, ebx
je case.0x4acdcb.151
mov ax, word [esi - 2]
sub esi, 2
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4af77b
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.004acc90
add esp, 0x14
test eax, eax
je 0x4af755
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4af7e6
cmp esi, dword [edi + 0x7c]
jb 0x4af7e6
cmp esi, dword [edi + 0x88]
jbe 0x4af7e6
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
mov ebx, dword [esp + 0x30]
jmp 0x4af713
cmp edx, 0x2e
jb 0x4af958
cmp ebx, 0x7f
jbe 0x4af826
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x4eb808]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
mov edi, dword [eax*8 + 0x4ea72c]
add edi, ebx
jmp 0x4af840
cmp ebx, 0xff
ja 0x4af83e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x38]
movzx edi, byte [eax + ebx]
jmp 0x4af840
mov edi, ebx
mov ecx, 1
cmp ebp, ecx
jl 0x4af876
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x7c]
cmp esi, edx
jae 0x4b2551
movzx eax, word [esi]
cmp ebx, eax
je 0x4af86a
cmp edi, eax
jne case.0x4acdcb.151
add esi, 2
inc ecx
mov dword [esp + 0x14], esi
cmp ecx, ebp
jle 0x4af853
mov eax, dword [esp + 0x1c]
cmp ebp, eax
je 0x4acd85
cmp dword [esp + 0x30], 0
jne 0x4b2c15
mov edx, dword [esp + 0x24]
mov ebp, esi
cmp edx, eax
jge 0x4af8c2
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4af927
movzx eax, word [esi]
cmp ebx, eax
je 0x4af8b4
cmp edi, eax
jne 0x4af8c2
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, dword [esp + 0x1c]
jl 0x4af8a1
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4acd8c
cmp esi, ebp
jb case.0x4acdcb.151
nop dword [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.004acc90
add esp, 0x14
sub esi, 2
test eax, eax
jne 0x4b2346
cmp esi, ebp
jae 0x4af8e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4af8c9
cmp esi, dword [edi + 0x88]
jbe 0x4af8c9
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
jmp 0x4af8c9
mov edi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x4af98f
mov edx, dword [edi + 0x7c]
nop dword [eax + eax]
cmp esi, edx
jae 0x4b2525
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x14], esi
cmp ebx, eax
jne case.0x4acdcb.151
inc ecx
cmp ecx, ebp
jle 0x4af970
mov edx, dword [esp + 0x1c]
cmp ebp, edx
je 0x4acd8c
cmp dword [esp + 0x30], 0
jne 0x4b2cb9
mov edi, esi
cmp ebp, edx
jge 0x4af9fb
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4af9cf
movzx eax, word [esi]
cmp ebx, eax
jne 0x4af9fb
add esi, 2
inc ebp
mov dword [esp + 0x14], esi
cmp ebp, edx
jl 0x4af9b6
jmp 0x4af9fb
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4af9fb
cmp esi, dword [eax + 0x88]
jbe 0x4af9fb
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b3ee6
cmp dword [esp + 0x38], 0
jne 0x4acd85
cmp esi, edi
jb case.0x4acdcb.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.004acc90
add esp, 0x14
sub esi, 2
test eax, eax
jne 0x4b2346
cmp esi, edi
jae 0x4afa10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
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 0x4afaa2
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 ebx, 0x20
jne 0x4afb09
cmp edx, 0x7f
jbe 0x4afae0
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
mov eax, dword [eax*8 + 0x4ea72c]
add eax, edx
jmp 0x4afafa
cmp edx, 0xff
ja 0x4afaf8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x38]
movzx eax, byte [eax + edx]
jmp 0x4afafa
mov eax, edx
cmp edx, edi
je case.0x4acdcb.151
cmp eax, edi
jmp 0x4acd7f
mov dword [esp + 0x10], eax
cmp edx, edi
jmp 0x4acd7f
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 2]
add ecx, 4
mov dword [esp + 0x1c], eax
mov ebp, eax
jmp 0x4afbf3
mov edx, dword [esp + 0x10]
xor ebp, ebp
movzx eax, word [edx + 2]
mov dword [esp + 0x1c], eax
cmp ecx, 0x42
je 0x4afb46
mov dword [esp + 0x30], ebp
cmp ecx, 0x4f
jne 0x4afb4e
mov dword [esp + 0x30], 1
lea ecx, [edx + 4]
jmp 0x4afbf3
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add ecx, 2
jmp 0x4afbeb
mov ecx, dword [esp + 0x10]
mov ebp, 1
mov dword [esp + 0x38], 1
add ecx, 2
jmp 0x4afbeb
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add ecx, 2
mov dword [esp + 0x1c], 1
jmp 0x4afbf3
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
movzx eax, word [ecx + 2]
add ecx, 4
mov dword [esp + 0x1c], eax
jmp 0x4afbf3
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 ebp, byte [eax + 0x4de9dc]
movsx eax, byte [eax + 0x4de9d4]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4afbf3
mov dword [esp + 0x1c], connect
movzx edi, word [ecx]
lea edx, [ecx + 2]
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], edx
cmp ebx, 0x48
jb 0x4afe30
cmp edi, 0x7f
jbe 0x4afc38
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4eb808]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
mov ebx, dword [eax*8 + 0x4ea72c]
add ebx, edi
jmp 0x4afc52
cmp edi, 0xff
ja 0x4afc50
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebx, byte [eax + edi]
jmp 0x4afc59
mov ebx, edi
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x2c], ebx
cmp ebp, 1
jl 0x4afccf
mov edi, dword [ecx + 0x7c]
mov edx, 1
nop word [eax + eax]
cmp esi, edi
jae 0x4b2d4e
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afcb0
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.0x4acdcb.151
cmp ebx, ecx
je case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4afc70
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
cmp ebp, eax
je 0x4aef74
cmp dword [esp + 0x30], 0
jne 0x4b2d81
mov ebx, esi
cmp ebp, eax
jge 0x4afd4d
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4afdf7
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afd33
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 0x4afd4d
cmp dword [esp + 0x2c], ecx
je 0x4afd4d
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x1c]
jl 0x4afcf6
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4acd8c
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebx
je case.0x4acdcb.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4afdbd
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.004acc90
add esp, 0x14
test eax, eax
je 0x4afd96
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4afd54
cmp esi, dword [edi + 0x88]
jbe 0x4afd54
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
jmp 0x4afd54
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4afe96
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afe83
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.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4afe43
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
cmp ebp, eax
je 0x4aef74
cmp dword [esp + 0x30], 0
jne 0x4b2e87
mov ebx, esi
cmp ebp, eax
jge 0x4aff12
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4affc1
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4afefe
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 0x4aff12
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x1c]
jl 0x4afec1
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4acd8c
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop dword [eax + eax]
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebx
je case.0x4acdcb.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4aff87
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.004acc90
add esp, 0x14
test eax, eax
je 0x4aff60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4aff19
cmp esi, dword [edi + 0x88]
jbe 0x4aff19
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
jmp 0x4aff19
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 0x4b00ed
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 0x4b00ed
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov dword [esp + 0x38], 1
add eax, 2
mov dword [esp + 0x24], ebp
jmp 0x4b00e5
mov eax, dword [esp + 0x10]
mov ebp, 1
mov dword [esp + 0x38], 1
add eax, 2
mov dword [esp + 0x24], ebp
jmp 0x4b00e5
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 0x4b00ed
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 0x4b00ed
mov eax, dword [esp + 0x10]
lea ecx, [edx - 1]
movsx ebp, byte [edx + 0x4de987]
and ecx, 1
mov dword [esp + 0x30], ecx
add eax, 2
movsx ecx, byte [edx + 0x4de97f]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x4b00ed
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 0x4b0112
cmp edi, 0xf
je 0x4b0112
mov ebx, dword [esp + 0x34]
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4b0138
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 0x4b05c5
test eax, eax
js 0x4b077d
cmp eax, 8
ja case.default.0x4ae9c2
jmp dword [eax*4 + 0x4b46cc]
test ebx, ebx
jne case.0x4acdcb.151
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x174]
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
mov ecx, esi
cmp esi, edi
jae 0x4b3eb9
movzx eax, word [esi]
add esi, 2
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4b019c
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
inc edx
cmp edx, ebp
jle 0x4b0175
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0201
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
mov al, byte [eax*8 + 0x4ea729]
cmp al, 9
je 0x4b0234
cmp al, 5
je 0x4b0234
cmp al, 8
je 0x4b0234
xor eax, eax
jmp 0x4b0239
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b01c1
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b02b0
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], ebx
mov ebx, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0270
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
nop
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0360
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0320
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0407
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea728]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b03c7
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
nop
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b04b0
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4b04e9
cmp eax, 3
je 0x4b04e9
xor eax, eax
jmp 0x4b04ee
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0470
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov edi, 1
cmp ebp, edi
jl 0x4b05c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b2551
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0561
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4b05a9
cmp edx, 9
je 0x4b05a9
cmp edx, 0xa
je 0x4b05a9
cmp edx, 0xc
je 0x4b05a9
cmp edx, 0xd
je 0x4b05a9
xor eax, eax
jmp 0x4b05ae
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.151
inc edi
cmp edi, ebp
jle 0x4b0521
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4acd85
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x2c]
jne 0x4b3111
mov ebx, esi
mov dword [esp + 0x1c], ebx
test eax, eax
js 0x4b1688
cmp eax, 8
ja case.default.0x4ae9c2
jmp dword [eax*4 + 0x4b46f0]
mov edi, 1
cmp ebp, edi
jl 0x4b05c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b2551
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0658
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4b06a5
cmp edx, 9
je 0x4b06a5
cmp edx, 0xa
je 0x4b06a5
cmp edx, 0xb
je 0x4b06a5
cmp edx, 0xc
je 0x4b06a5
cmp edx, 0xd
je 0x4b06a5
xor eax, eax
jmp 0x4b06aa
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.151
inc edi
cmp edi, ebp
jle 0x4b0618
jmp 0x4b05c1
mov edi, 1
cmp ebp, edi
jl 0x4b05c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
nop dword [eax]
cmp esi, ebx
jae 0x4b2551
movzx edx, word [esi]
add esi, 2
mov eax, edx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0720
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4b0760
cmp eax, 3
je 0x4b0760
cmp edx, 0x5f
je 0x4b0760
xor eax, eax
jmp 0x4b0765
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.151
inc edi
cmp edi, ebp
jle 0x4b06e0
jmp 0x4b05c1
cmp edi, 0x16
jne 0x4b08b1
mov ebx, dword [esp + 0x174]
mov ebp, 1
cmp dword [esp + 0x24], ebp
jl 0x4b0fb5
nop dword [eax]
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
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 0x4b07e3
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
je case.0x4acdcb.151
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b0899
mov ebx, esi
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0857
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
jne 0x4b088e
lea esi, [ebx + edx*2]
mov ebx, esi
cmp esi, edi
jb 0x4b0822
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, dword [esp + 0x24]
jle 0x4b07a0
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x4ae9c2
jmp dword [eax*4 + 0x4b4714]
mov ebx, dword [esp + 0x174]
mov edi, 1
cmp ebp, edi
jl 0x4b0968
mov ecx, dword [ebx + 0x7c]
nop dword [eax + eax]
cmp esi, ecx
jae 0x4b3eb9
mov edx, dword [ebx + 0x18]
lea eax, [ebx + 0x1c]
test edx, edx
je 0x4b090a
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b5a90
add esp, 0xc
test eax, eax
jne case.0x4acdcb.151
jmp 0x4b0935
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b0935
mov ax, word [esi]
cmp ax, word [ebx + 0x2c]
jne 0x4b0935
cmp edx, 1
je case.0x4acdcb.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x2e]
je case.0x4acdcb.151
mov ecx, dword [ebx + 0x7c]
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, ecx
jae 0x4b095f
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b095f
add esi, 2
mov dword [esp + 0x14], esi
inc edi
cmp edi, ebp
jle 0x4b08e0
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x4b05cc
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x4b3eb9
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edx
jae 0x4b09b1
mov ax, word [esi]
and ax, word [esp + 0x64]
cmp ax, word [esp + 0x68]
jne 0x4b09b1
add esi, 2
mov dword [esp + 0x14], esi
inc ecx
cmp ecx, ebp
jle 0x4b0988
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [ebx + 0x7c]
sub eax, ecx
cmp esi, eax
ja case.0x4acdcb.151
add esi, ecx
mov dword [esp + 0x14], esi
jmp 0x4b05cc
mov edi, 1
cmp ebp, edi
jl 0x4b05c1
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b2558
movzx ecx, word [esi]
lea edx, [esi + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0a30
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 0x4b0a7c
je 0x4b0a58
cmp ecx, 0xa
je 0x4b0a41
lea eax, [ecx - 0xb]
jmp 0x4b0a8a
mov esi, edx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x174]
inc edi
cmp edi, ebp
jle 0x4b09f8
jmp 0x4b05c1
mov esi, edx
mov dword [esp + 0x14], esi
cmp edx, ebx
jae 0x4b0a47
cmp word [edx], 0xa
mov eax, dword [esp + 0x174]
mov dword [esp + 0x14], esi
jne 0x4b0a4e
lea esi, [edx + 2]
mov dword [esp + 0x14], esi
jmp 0x4b0a4e
cmp ecx, 0x85
je 0x4b0a93
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4acdcb.151
mov eax, dword [esp + 0x174]
mov esi, edx
mov dword [esp + 0x14], esi
cmp dword [eax + 0x68], 0
jne case.0x4acdcb.151
jmp 0x4b0a4e
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0b03
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 0x4b0b35
je case.0x4acdcb.151
cmp ecx, 0xa0
ja 0x4b0b2d
je case.0x4acdcb.151
cmp ecx, 9
je case.0x4acdcb.151
cmp ecx, 0x20
jmp 0x4b0b65
cmp ecx, 0x1680
jmp 0x4b0b65
cmp ecx, 0x205f
ja 0x4b0b5f
je case.0x4acdcb.151
cmp ecx, 0x2000
jb 0x4b0b6b
cmp ecx, 0x200a
jbe case.0x4acdcb.151
cmp ecx, 0x202f
jmp 0x4b0b65
cmp ecx, 0x3000
je case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0ac3
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0bd4
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 0x4b0bfa
je 0x4b0c2c
cmp ecx, 0xa0
ja 0x4b0bf2
je 0x4b0c2c
cmp ecx, 9
je 0x4b0c2c
cmp ecx, 0x20
jmp 0x4b0c26
cmp ecx, 0x1680
jmp 0x4b0c26
cmp ecx, 0x205f
ja 0x4b0c20
je 0x4b0c2c
cmp ecx, 0x2000
jb case.0x4acdcb.151
cmp ecx, 0x200a
jbe 0x4b0c2c
cmp ecx, 0x202f
jmp 0x4b0c26
cmp ecx, 0x3000
jne case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0b94
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0c95
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 0x4b0cad
je case.0x4acdcb.151
cmp ecx, 0xa
jb 0x4b0cc1
cmp ecx, 0xd
jmp 0x4b0cbb
cmp ecx, 0x2028
jb 0x4b0cc1
cmp ecx, 0x2029
jbe case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0c55
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [esp + 0x14], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b0d26
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 0x4b0d38
je 0x4b0d47
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x4b0d41
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0ce6
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b3eb9
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
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [esp + 0x14], esi
cmp ecx, 0x80
jae 0x4b0dc5
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
jne case.0x4acdcb.151
inc edx
cmp edx, ebp
jle 0x4b0d70
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
nop word [eax + eax]
cmp esi, edi
jae 0x4b3eb9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae case.0x4acdcb.151
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
je case.0x4acdcb.151
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, ebp
jle 0x4b0df0
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae 0x4b0e68
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
jne case.0x4acdcb.151
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x4b0e8f
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b0e8f
add esi, 2
mov dword [esp + 0x14], esi
inc edx
cmp edx, ebp
jle 0x4b0e44
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae case.0x4acdcb.151
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
je case.0x4acdcb.151
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, ebp
jle 0x4b0eb4
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebx, dword [esp + 0x174]
mov edx, 1
cmp ebp, edx
jl 0x4b05cc
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae 0x4b0f2c
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x4acdcb.151
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x4b0f53
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b0f53
add esi, 2
mov dword [esp + 0x14], esi
inc edx
cmp edx, ebp
jle 0x4b0f08
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov edx, 1
cmp ebp, edx
jl 0x4b05c5
mov ebx, dword [esp + 0x174]
mov edi, dword [ebx + 0x7c]
cmp esi, edi
jae 0x4b3eb9
movzx eax, word [esi]
mov ecx, 0x80
cmp ax, cx
jae case.0x4acdcb.151
mov ecx, eax
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 0x10
je case.0x4acdcb.151
add esi, 2
inc edx
mov dword [esp + 0x14], esi
cmp edx, ebp
jle 0x4b0f78
mov edi, dword [esp + 0x18]
jmp 0x4b05cc
mov ebp, dword [esp + 0x24]
jmp 0x4b05cc
mov edi, dword [esp + 0x174]
cmp ebp, edx
jge 0x4b15e5
mov edx, dword [edi + 0x7c]
cmp esi, edx
jae 0x4b10c0
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x4b15e5
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 0x4b0fd0
jmp 0x4b15e5
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b10b9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1060
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
mov al, byte [eax*8 + 0x4ea729]
cmp al, 9
je 0x4b1093
cmp al, 5
je 0x4b1093
cmp al, 8
je 0x4b1093
xor eax, eax
jmp 0x4b1098
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b15de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1023
jmp 0x4b15de
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b15e5
cmp esi, dword [edi + 0x88]
jbe 0x4b15e5
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
jmp 0x4b15e5
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b10b9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b113d
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], ebx
mov ebx, dword [esp + 0x1c]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4b15de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1104
jmp 0x4b15de
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b10b9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b11e5
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4b15de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b11a8
jmp 0x4b15de
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b10b9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1282
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea728]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4b15de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1245
jmp 0x4b15de
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b10b9
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b131f
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4b1358
cmp eax, 3
je 0x4b1358
xor eax, eax
jmp 0x4b135d
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b15de
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b12e2
jmp 0x4b15de
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
mov edi, 1
cmp esi, ebx
jae 0x4b143b
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b13cd
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4b1415
cmp edx, 9
je 0x4b1415
cmp edx, 0xa
je 0x4b1415
cmp edx, 0xc
je 0x4b1415
cmp edx, 0xd
je 0x4b1415
xor eax, eax
jmp 0x4b141a
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b15da
inc ebp
lea esi, [esi + edi*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1390
jmp 0x4b15da
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b1467
cmp esi, dword [edi + 0x88]
jbe 0x4b1467
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
mov ebx, dword [esp + 0x1c]
jmp 0x4b15e5
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
mov edi, 1
cmp esi, ebx
jae 0x4b143b
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b14bb
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4b1508
cmp edx, 9
je 0x4b1508
cmp edx, 0xa
je 0x4b1508
cmp edx, 0xb
je 0x4b1508
cmp edx, 0xc
je 0x4b1508
cmp edx, 0xd
je 0x4b1508
xor eax, eax
jmp 0x4b150d
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b15da
inc ebp
lea esi, [esi + edi*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1482
jmp 0x4b15da
cmp ebp, edx
jge 0x4b15de
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x7c]
cmp esi, ebx
jae 0x4b143b
movzx edx, word [esi]
mov edi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b157d
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4b15bd
cmp eax, 3
je 0x4b15bd
cmp edx, 0x5f
je 0x4b15bd
xor eax, eax
jmp 0x4b15c2
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4b15da
inc ebp
lea esi, [esi + edi*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1540
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
jne 0x4acd8c
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebx
je case.0x4acdcb.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b164e
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.004acc90
add esp, 0x14
test eax, eax
je 0x4b1627
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edi, 0x16
jne 0x4b17f6
cmp ebp, edx
jge 0x4b17db
mov ebx, dword [esp + 0x174]
mov ebp, dword [ebx + 0x7c]
cmp esi, ebp
jae 0x4b17b2
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b16e0
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
je 0x4b17d7
mov ebx, dword [ebx + 0x7c]
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp esi, ebx
jae 0x4b1796
mov edi, esi
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b175b
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
jne 0x4b1792
lea esi, [edi + edx*2]
mov edi, esi
cmp esi, ebx
jb 0x4b1726
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 0x4b16a3
jmp 0x4b17d7
cmp dword [ebx + 0x8c], 0
je 0x4b17d7
cmp esi, dword [ebx + 0x88]
jbe 0x4b17d7
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x8c], 1
jg 0x4b3ee6
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x38], 0
mov edx, dword [esp + 0x10]
je 0x4b2f48
mov edi, dword [esp + 0x174]
jmp 0x4acd90
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x4ae9c2
jmp dword [eax*4 + 0x4b4754]
cmp edx, 0x7fffffff
jge 0x4b18fd
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4b18cb
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4b1851
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b5a90
add esp, 0xc
test eax, eax
jne 0x4b1b3e
jmp 0x4b1883
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b1883
mov ecx, dword [esp + 0x174]
mov ax, word [esi]
cmp ax, word [ecx + 0x2c]
jne 0x4b1883
cmp edx, 1
je 0x4b1b3e
mov ax, word [esi + 2]
cmp ax, word [ecx + 0x2e]
je 0x4b1b3e
mov eax, dword [esp + 0x174]
add esi, 2
mov dword [esp + 0x14], esi
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4b18bb
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4b18bb
add esi, 2
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4b1827
jmp 0x4b1b3e
cmp dword [eax + 0x8c], 0
je 0x4b1b3e
cmp esi, dword [eax + 0x88]
jbe 0x4b1b3e
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b3ee6
jmp 0x4b1b3e
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop
cmp esi, ecx
jae 0x4b18cb
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4b1936
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b5a90
add esp, 0xc
test eax, eax
jne 0x4b1b3e
jmp 0x4b1968
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b1968
mov ecx, dword [esp + 0x174]
mov ax, word [esi]
cmp ax, word [ecx + 0x2c]
jne 0x4b1968
cmp edx, 1
je 0x4b1b3e
mov ax, word [esi + 2]
cmp ax, word [ecx + 0x2e]
je 0x4b1b3e
mov eax, dword [esp + 0x174]
add esi, 2
mov dword [esp + 0x14], esi
mov ecx, dword [eax + 0x7c]
cmp esi, ecx
jae 0x4b19a0
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4b19a0
add esi, 2
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4b1910
jmp 0x4b1b3e
cmp edx, 0x7fffffff
jge 0x4b1a08
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp esi, ecx
jae 0x4b19ff
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, ecx
jae 0x4b19f5
mov ax, word [esi]
and ax, word [esp + 0x64]
cmp ax, word [esp + 0x68]
jne 0x4b19f5
add esi, 2
mov dword [esp + 0x14], esi
inc ebp
cmp ebp, edx
jl 0x4b19d0
jmp 0x4b1b3e
mov eax, dword [esp + 0x174]
jmp 0x4b1a16
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov dword [esp + 0x14], esi
cmp dword [eax + 0x8c], 0
je 0x4b1a3b
cmp esi, dword [eax + 0x88]
jbe 0x4b1a3b
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b3ee6
mov ebp, eax
jmp 0x4b1b45
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 0x4b1a71
mov eax, ebp
mov esi, ecx
mov dword [esp + 0x14], esi
cmp dword [eax + 0x8c], 0
je 0x4b1a3b
cmp ecx, dword [eax + 0x88]
jmp 0x4b1a25
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
jmp 0x4b1b45
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
mov edx, esi
cmp esi, edi
jae 0x4b1b60
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1acc
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x4b1ad1
mov eax, 2
cmp ecx, 0xd
jne 0x4b1aed
add esi, 2
mov dword [esp + 0x14], esi
cmp esi, edi
jae 0x4b1b3a
cmp word [esi], 0xa
cmovne esi, edx
add esi, 2
jmp 0x4b1b2b
cmp ecx, 0xa
je 0x4b1b29
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x4b2084
cmp ecx, 0xb
je 0x4b1b29
cmp ecx, 0xc
je 0x4b1b29
cmp ecx, 0x85
je 0x4b1b29
cmp ecx, 0x2028
je 0x4b1b29
cmp ecx, 0x2029
jne 0x4b2084
add esi, eax
inc ebp
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1a90
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x38], 0
mov edx, dword [esp + 0x10]
je 0x4b3064
mov edi, dword [esp + 0x174]
jmp 0x4acd90
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b1b8c
cmp esi, dword [eax + 0x88]
jbe 0x4b1b8c
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b3ee6
mov edi, dword [esp + 0x18]
mov ebp, eax
jmp 0x4b1b45
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
mov edx, 1
cmp esi, edi
jae 0x4b1c61
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1bdf
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 0x4b1c05
je 0x4b1c33
cmp ecx, 0xa0
ja 0x4b1bfd
je 0x4b1c33
cmp ecx, 9
je 0x4b1c33
cmp ecx, 0x20
jmp 0x4b1c2d
cmp ecx, 0x1680
jmp 0x4b1c2d
cmp ecx, 0x205f
ja 0x4b1c27
je 0x4b1c33
cmp ecx, 0x2000
jb 0x4b1c2f
cmp ecx, 0x200a
jbe 0x4b1c33
cmp ecx, 0x202f
jmp 0x4b1c2d
cmp ecx, 0x3000
je 0x4b1c33
xor ecx, ecx
jmp 0x4b1c38
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x18], 0x12
sete al
cmp ecx, eax
je 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1ba2
jmp 0x4b1b3a
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b1b8c
cmp esi, dword [eax + 0x88]
jbe 0x4b1b8c
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4b3ee6
mov edi, dword [esp + 0x18]
mov ebp, eax
jmp 0x4b1b45
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b1b60
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1ced
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 0x4b1d28
je 0x4b1d33
cmp ecx, 0xa
jb 0x4b1d01
cmp ecx, 0xd
jbe 0x4b1d33
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x18], 0x14
sete al
cmp ecx, eax
je 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1cb0
jmp 0x4b1b3a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x4b1d01
mov ecx, 1
jmp 0x4b1d03
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax]
cmp esi, edi
jae 0x4b1b60
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1d8d
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 0x4b1da9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1d50
jmp 0x4b1b3a
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
cmp esi, edi
jae 0x4b1b60
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1e0d
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 0x4b1b3a
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1dd0
jmp 0x4b1b3a
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1b60
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1e8f
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 0x4b1eab
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1e52
jmp 0x4b1b3a
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1b60
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1f0d
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 0x4b1b3a
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1ed0
jmp 0x4b1b3a
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b1b60
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b1f8f
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 0x4b1fab
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1f52
jmp 0x4b1b3a
cmp ebp, edx
jge 0x4b1b3e
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp esi, edi
jae 0x4b2040
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b200d
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 0x4b1b3a
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4b1b3a
inc ebp
lea esi, [esi + edx*2]
mov dword [esp + 0x14], esi
cmp ebp, dword [esp + 0x20]
jl 0x4b1fd0
jmp 0x4b1b3a
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b1b8c
cmp esi, dword [eax + 0x88]
jbe 0x4b1b8c
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle 0x4b1b8c
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edi, dword [esp + 0x18]
mov ebp, edx
jmp 0x4b1b45
cmp ecx, 0x74
mov ecx, esi
jne 0x4b20d0
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov edx, ebp
jmp 0x4b232f
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov edx, dword [esp + 0x10]
add edx, 4
jmp 0x4b232f
mov edi, dword [esp + 0x174]
mov eax, dword [edi + 0x90]
cmp eax, ebp
cmovle eax, ebp
mov dword [esp + 0x170], eax
movzx eax, word [ebx + 6]
add eax, 2
lea eax, [ebx + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
jne 0x4b215a
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
je 0x4b2142
jmp 0x4b215a
mov edi, dword [esp + 0x174]
cmp dword [esp + 0x1c], 0x86
lea edx, [eax + 4]
mov dword [esp + 0x10], edx
jne 0x4b2333
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.004acc90
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x75
je 0x4b24d9
cmp ecx, 0x74
jne 0x4b2242
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
movzx eax, word [ebp]
mov edx, ebp
cmp eax, 0x7b
je 0x4b22a9
mov ecx, 0x82
cmp ax, cx
jb 0x4b232f
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.004acc90
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0x82
cmp word [ebp], ax
jb 0x4b2257
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.004acc90
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4b228b
cmp dword [edi + 0xb8], ebp
jmp 0x4b228d
test eax, eax
jne 0x4b2346
mov edx, dword [esp + 0x10]
add edx, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x10], edx
jne 0x4b2333
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.004acc90
add esp, 0x14
test eax, eax
je 0x4ade37
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 0x4b3ef6
mov edx, dword [esp + 0x1c]
nop dword [eax + eax]
cmp edx, 0x82
jae 0x4b2351
cmp edx, 0x7b
je 0x4b2351
cmp dword [edi + 0x6c], 0
mov edx, dword [esp + 0x10]
jne 0x4b235f
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
je 0x4b235f
movzx eax, word [edx]
movzx eax, byte [eax + 0x4eda08]
lea edx, [edx + eax*2]
mov dword [esp + 0x10], edx
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jb 0x4acd30
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 + 0x4eda08]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [edx + eax*2]
call fcn.004acc90
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x4b23dc
mov ebp, dword [esp + 0x10]
movzx ecx, word [ebp + 2]
lea eax, [ecx*2]
add eax, ebp
cmp dword [ebx + 0x80], eax
jae 0x4b4095
cmp word [ebp], 0x71
je 0x4b23e8
cmp word [eax], 0x71
jne 0x4b4095
jmp 0x4b23e8
test edx, edx
jne 0x4b405a
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.0x4acdcb.151
mov edi, ebx
jmp 0x4b22f7
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.004acc90
add esp, 0x14
test eax, eax
je 0x4b2458
cmp eax, 0xfffffc1d
je 0x4b2458
cmp eax, 0xfffffc20
jne 0x4b2346
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 0x4b2499
push eax
call fcn.004bb7ab
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.0x4acdcb.151
cmp esi, dword [edi + 0x88]
jbe case.0x4acdcb.151
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jmp 0x4b3ee0
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je case.0x4acdcb.151
cmp esi, dword [eax + 0x88]
jbe case.0x4acdcb.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x4b3ee0
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je case.0x4acdcb.151
cmp esi, dword [eax + 0x7c]
jb case.0x4acdcb.151
jmp 0x4b2565
mov ebx, esi
cmp edi, eax
jge 0x4b2620
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, esi
push ebp
call fcn.004acae0
add esp, 0xc
test eax, eax
js 0x4b25db
mov ecx, dword [esp + 0x2c]
lea esi, [esi + eax*2]
mov edx, dword [esp + 0x24]
inc edi
cmp edi, dword [esp + 0x28]
jl 0x4b25b0
jmp 0x4b260c
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je 0x4b260c
cmp esi, dword [eax + 0x7c]
jb 0x4b260c
cmp esi, dword [eax + 0x88]
jbe 0x4b260c
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jg 0x4b3ee6
cmp esi, ebx
jb case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov eax, ebp
neg eax
lea esi, [esi + eax*2]
cmp esi, ebx
jae 0x4b2620
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [edi + 0x8c], 0
je case.0x4acdcb.151
cmp esi, dword [edi + 0x7c]
jb case.0x4acdcb.151
jmp 0x4b2532
cmp dword [esp + 0x30], 0
je 0x4b2786
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp edi, ebx
jge case.0x4acdcb.151
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x7c]
jae 0x4b2558
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b2718
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 0x4b2727
cmp dword [esp + 0x1c], 0x6a
jmp 0x4b2739
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b26d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, esi
cmp edi, ebx
jge 0x4b27f4
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
mov ebx, dword [eax + 0x7c]
nop
cmp esi, ebx
jae 0x4b28cc
movzx edx, word [esi]
mov edi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b27dd
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 0x4b2893
cmp dword [esp + 0x1c], 0x6a
jne 0x4b28b3
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebp
je case.0x4acdcb.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b2859
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.004acc90
add esp, 0x14
test eax, eax
je 0x4b2832
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 0x4b27f4
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 0x4b27a0
jmp 0x4b27f4
mov edi, dword [esp + 0x174]
cmp dword [edi + 0x8c], 0
je 0x4b27fb
cmp esi, dword [edi + 0x88]
jbe 0x4b27fb
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
jmp 0x4b27fb
mov ebp, esi
cmp ebx, edi
jge 0x4b2971
nop
mov edi, dword [esp + 0x174]
cmp esi, dword [edi + 0x7c]
jae 0x4b2a11
movzx ecx, word [esi]
mov edi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b2955
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.004b5c10
add esp, 4
test eax, eax
je 0x4b2971
inc ebx
lea esi, [esi + edi*2]
cmp ebx, dword [esp + 0x28]
jl 0x4b2910
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop
mov eax, esi
mov ecx, esi
sub esi, 2
cmp eax, ebp
je case.0x4acdcb.151
mov ax, word [esi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b29d7
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.004acc90
add esp, 0x14
test eax, eax
je 0x4b29b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [edi + 0x8c], 0
je 0x4b2978
cmp esi, dword [edi + 0x88]
jbe 0x4b2978
mov dword [edi + 0x64], 1
cmp dword [edi + 0x8c], 1
jg 0x4b3ee6
jmp 0x4b2978
cmp dword [edi + 0x8c], 0
je case.0x4acdcb.151
cmp esi, ecx
jb case.0x4acdcb.151
jmp 0x4b2532
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp edi, ebp
jge case.0x4acdcb.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 0x4b2b27
mov edx, dword [esp + 0x20]
lea edi, [ecx + ecx]
mov ecx, esi
sub edi, 4
jb 0x4b2ae1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b2aea
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b2ad0
cmp edi, 0xfffffffc
je 0x4b2b9f
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b2b27
cmp edi, 0xfffffffd
je 0x4b2b9f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b2b27
cmp edi, 0xfffffffe
je 0x4b2b9f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b2b27
cmp edi, 0xffffffff
je 0x4b2b9f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4b2b9f
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4b2bf4
lea ebx, [ecx + ecx]
mov eax, ebp
sub eax, ebx
cmp esi, eax
ja 0x4b2bf4
lea edi, [ecx + ecx]
mov ecx, esi
lea edx, [esp + 0x74]
sub edi, 4
jb 0x4b2b61
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b2b66
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4b2b50
cmp edi, 0xfffffffc
je 0x4b2b9f
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b2bf4
cmp edi, 0xfffffffd
je 0x4b2b9f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b2bf4
cmp edi, 0xfffffffe
je 0x4b2b9f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b2bf4
cmp edi, 0xffffffff
je 0x4b2b9f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b2bf4
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.004acc90
mov ebp, dword [esp + 0x30]
add esp, 0x14
test eax, eax
je 0x4b2a98
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x8c], 0
je case.0x4acdcb.151
cmp esi, ebp
jb case.0x4acdcb.151
jmp 0x4b2565
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x1c]
jge case.0x4acdcb.151
mov ecx, dword [esp + 0x174]
cmp esi, dword [ecx + 0x7c]
jae 0x4b2d55
movzx eax, word [esi]
cmp ebx, eax
je 0x4b2c79
cmp edi, eax
jne case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b2c50
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop
cmp ebp, dword [esp + 0x1c]
jge case.0x4acdcb.151
cmp esi, dword [edi + 0x7c]
jae 0x4b2525
movzx eax, word [esi]
add esi, 2
cmp ebx, eax
jne case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b2cf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x8c], 0
je case.0x4acdcb.151
cmp esi, dword [ecx + 0x88]
jbe case.0x4acdcb.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x4b3ee0
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop dword [eax + eax]
cmp ebp, dword [esp + 0x1c]
jge case.0x4acdcb.151
mov edx, dword [esp + 0x174]
cmp esi, dword [edx + 0x7c]
jae 0x4b2e5b
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b2e0a
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.0x4acdcb.151
cmp ebx, ecx
je case.0x4acdcb.151
mov eax, dword [esp + 0x17c]
mov ecx, esi
inc eax
inc ebp
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x20]
push dword [esp + 0x17c]
call fcn.004acc90
add esp, 0x14
test eax, eax
je 0x4b2dc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [edx + 0x8c], 0
je case.0x4acdcb.151
cmp esi, dword [edx + 0x88]
jbe case.0x4acdcb.151
mov dword [edx + 0x64], 1
cmp dword [edx + 0x8c], 1
jmp 0x4b3ee0
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop dword [eax]
cmp ebp, dword [esp + 0x1c]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b2f03
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.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b2ec0
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
lea edi, [esi - 2]
cmp esi, ebx
je case.0x4acdcb.151
mov ebp, 0xdc00
movzx eax, word [edi]
mov edx, edi
mov ecx, eax
and ecx, 0xfc00
movzx ebx, cx
cmp cx, bp
jne 0x4b2fa9
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 0x4b2fe3
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
jne 0x4b3019
add edi, 0xfffffffe
jmp 0x4b2f90
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.004acc90
mov ebx, dword [esp + 0x30]
add esp, 0x14
test eax, eax
je 0x4b2f80
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
lea ecx, [esi - 2]
cmp esi, ebx
je case.0x4acdcb.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 0x4b30d5
cmp ecx, ebx
jbe 0x4b30d5
cmp word [ecx], 0xa
jne 0x4b30d5
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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3095
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x4b39e7
cmp eax, 8
ja case.default.0x4ae9c2
jmp dword [eax*4 + 0x4b4794]
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
mov ecx, esi
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx eax, word [esi]
add esi, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b318a
lea esi, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3160
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop word [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3253
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
mov al, byte [eax*8 + 0x4ea729]
cmp al, 9
je 0x4b3286
cmp al, 5
je 0x4b3286
cmp al, 8
je 0x4b3286
xor eax, eax
jmp 0x4b328b
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3210
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop dword [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3353
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], edx
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3310
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
nop word [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3453
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3410
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3543
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 + 0x4eb808]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea728]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3500
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3633
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4b366c
cmp eax, 3
je 0x4b366c
xor eax, eax
jmp 0x4b3671
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b35f0
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3734
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4b377c
cmp edx, 9
je 0x4b377c
cmp edx, 0xa
je 0x4b377c
cmp edx, 0xc
je 0x4b377c
cmp edx, 0xd
je 0x4b377c
xor eax, eax
jmp 0x4b3781
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b36f1
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3844
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 6
je 0x4b3891
cmp edx, 9
je 0x4b3891
cmp edx, 0xa
je 0x4b3891
cmp edx, 0xb
je 0x4b3891
cmp edx, 0xc
je 0x4b3891
cmp edx, 0xd
je 0x4b3891
xor eax, eax
jmp 0x4b3896
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3801
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.004acc90
add esp, 0x14
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
cmp esi, dword [ebx + 0x7c]
jae 0x4b3eb9
movzx edx, word [esi]
add esi, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3959
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 + 0x4eb808]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
mov eax, dword [eax*4 + 0x4edde8]
cmp eax, 1
je 0x4b3999
cmp eax, 3
je 0x4b3999
cmp edx, 0x5f
je 0x4b3999
xor eax, eax
jmp 0x4b399e
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3916
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.004acc90
add esp, 0x14
cmp edi, 0x16
jne 0x4b3b5a
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
mov ebx, dword [ebx + 0x7c]
cmp esi, ebx
jae 0x4b2551
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3a6a
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
je case.0x4acdcb.151
cmp esi, ebx
jae 0x4b3b12
mov edi, esi
movzx ecx, word [esi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3adb
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 + 0x4eb808]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4dee28]
movzx eax, byte [eax*8 + 0x4ea729]
cmp dword [eax*4 + 0x4edde8], 2
jne 0x4b3b12
lea esi, [edi + edx*2]
mov edi, esi
cmp esi, ebx
jb 0x4b3aa6
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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3a25
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4b2346
cmp ebp, dword [esp + 0x20]
jge case.0x4acdcb.151
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x4b3eb9
cmp edi, 0xc
jne 0x4b3bc9
mov edx, dword [ebx + 0x18]
lea eax, [ebx + 0x1c]
test edx, edx
je 0x4b3b9e
push 1
push eax
push ecx
mov ecx, esi
call fcn.004b5a90
add esp, 0xc
test eax, eax
jne case.0x4acdcb.151
jmp 0x4b3bc9
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4b3bc9
mov ax, word [esi]
cmp ax, word [ebx + 0x2c]
jne 0x4b3bc9
cmp edx, 1
je case.0x4acdcb.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x2e]
je case.0x4acdcb.151
movzx ecx, word [esi]
lea edx, [esi + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b3bf9
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.0x4ae9c2
jmp dword [eax*4 + 0x4b47b8]
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0xd
ja 0x4b3c41
je 0x4b3c24
cmp ecx, 0xa
je case.0x4b3c05.12
lea eax, [ecx - 0xb]
jmp 0x4b3c4f
mov esi, edx
cmp edx, dword [ebx + 0x7c]
jae 0x4b3e68
cmp word [edx], 0xa
jne 0x4b3e68
lea esi, [edx + 2]
jmp 0x4b3e68
cmp ecx, 0x85
je 0x4b3c58
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4acdcb.151
cmp dword [ebx + 0x68], 0
mov esi, edx
jne case.0x4acdcb.151
jmp 0x4b3e68
cmp ecx, 0x180e
ja 0x4b3c9b
je case.0x4acdcb.151
cmp ecx, 0xa0
ja 0x4b3c93
je case.0x4acdcb.151
cmp ecx, 9
je case.0x4acdcb.151
cmp ecx, 0x20
jmp 0x4b3ccf
cmp ecx, 0x1680
jmp 0x4b3ccf
cmp ecx, 0x205f
ja 0x4b3cc9
je case.0x4acdcb.151
cmp ecx, 0x2000
jb case.0x4b3c05.12
cmp ecx, 0x200a
jbe case.0x4acdcb.151
cmp ecx, 0x202f
jmp 0x4b3ccf
cmp ecx, 0x3000
je case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x180e
ja 0x4b3d0e
je case.0x4b3c05.12
cmp ecx, 0xa0
ja 0x4b3d06
je case.0x4b3c05.12
cmp ecx, 9
je case.0x4b3c05.12
cmp ecx, 0x20
jmp 0x4b3d42
cmp ecx, 0x1680
jmp 0x4b3d42
cmp ecx, 0x205f
ja 0x4b3d3c
je case.0x4b3c05.12
cmp ecx, 0x2000
jb case.0x4acdcb.151
cmp ecx, 0x200a
jbe case.0x4b3c05.12
cmp ecx, 0x202f
jmp 0x4b3d42
cmp ecx, 0x3000
jne case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x85
ja 0x4b3d6b
je case.0x4acdcb.151
cmp ecx, 0xa
jb case.0x4b3c05.12
cmp ecx, 0xd
jmp 0x4b3d7d
cmp ecx, 0x2028
jb case.0x4b3c05.12
cmp ecx, 0x2029
jbe case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x85
ja 0x4b3da0
je case.0x4b3c05.12
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x4b3da9
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x100
jae case.0x4b3c05.12
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
jne case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x100
jae case.0x4acdcb.151
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 4
je case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x100
jae case.0x4b3c05.12
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
jne case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x100
jae case.0x4acdcb.151
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 1
je case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x100
jae case.0x4b3c05.12
mov eax, dword [ebx + 0x3c]
test byte [ecx + eax], 0x10
jne case.0x4acdcb.151
mov esi, edx
jmp 0x4b3e68
cmp ecx, 0x100
jae case.0x4acdcb.151
mov eax, dword [ebx + 0x3c]
mov esi, edx
test byte [ecx + eax], 0x10
je case.0x4acdcb.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.004acc90
add esp, 0x14
test eax, eax
je 0x4b3b62
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.0x4acdcb.151
cmp esi, dword [ebx + 0x88]
jbe case.0x4acdcb.151
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x8c], 1
jle case.0x4acdcb.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 0x4b3f46
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 + 0x4eda08]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004acc90
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x4b4019
cmp edx, 0xfffffc20
jne 0x4b3fd3
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 0x4b404d
mov ecx, dword [esp + 0x10]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x4b3fcf
cmp word [eax], 0x71
jne 0x4b404d
xor edx, edx
jmp 0x4b3fe2
test edx, edx
jne 0x4b404d
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 0x4b4020
mov edx, ecx
jmp 0x4b3f32
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 0x4b4095
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp eax, 0x7b
je 0x4b408a
cmp eax, 0x71
jne 0x4b4081
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
je 0x4b4073
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 + 0x4eda08]
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.004acc90
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x4b4104
cmp edi, 0xfffffc19
jne 0x4b4127
mov ebp, dword [esp + 0x174]
cmp dword [ebp + 0xb0], 0
jne 0x4b412e
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 0x4b2499
mov edx, dword [ebp + 0x80]
mov ecx, ebx
call fcn.004b5980
test eax, eax
jne 0x4b2499
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 + 0x4eda08]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004acc90
add esp, 0x14
test eax, eax
je 0x4b41be
cmp eax, 0xfffffc1d
je 0x4b41be
cmp eax, 0xfffffc1e
je 0x4b41be
cmp eax, 0xfffffc1f
je 0x4b41be
cmp eax, 0xfffffc20
jne 0x4b2346
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 + 0x4eda08]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004acc90
add esp, 0x14
test eax, eax
je 0x4b42a7
cmp eax, 0xfffffc20
je 0x4b42a7
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 + 0x4eda08]
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.004acc90
add esp, 0x14
cmp eax, 1
je 0x4b4289
cmp eax, 0xfffffc19
jne 0x4b4298
cmp dword [ebx + 0xb0], 0
jne 0x4b4298
mov dword [ebx + 0xb0], edi
test eax, eax
je 0x4b42a7
cmp eax, 0xfffffc20
jne 0x4b2346
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 + 0x4eda08]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004acc90
add esp, 0x14
test eax, eax
je 0x4b4304
cmp eax, 0xfffffc1d
je 0x4b4304
cmp eax, 0xfffffc20
jne 0x4b2346
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 + 0x4eda08]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, esi
call fcn.004acc90
add esp, 0x14
test eax, eax
je 0x4b43e3
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 + 0x4eda08]
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.004acc90
add esp, 0x14
cmp eax, 1
je 0x4b43ca
cmp eax, 0xfffffc19
jne 0x4b43d9
cmp dword [ebx + 0xb0], 0
jne 0x4b43d9
mov dword [ebx + 0xb0], edi
test eax, eax
jne 0x4b2346
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 ebp, dword [esp + 0x16c]
cmp esi, ebp
jne 0x4b443d
cmp edx, 0x99
je 0x4b443d
cmp dword [edi + 0xa8], 0
jne 0x4b443d
cmp dword [edi + 0x5c], 0
jne case.0x4acdcb.151
cmp dword [edi + 0x60], 0
je 0x4b443d
mov ecx, dword [edi + 0x98]
mov eax, dword [edi + 0x78]
lea eax, [eax + ecx*2]
cmp ebp, eax
je case.0x4acdcb.151
mov eax, dword [esp + 0x170]
test bx, bx
mov dword [edi + 0x84], esi
mov ecx, 1
mov dword [edi + 0x90], eax
mov eax, 0xfffffc19
mov dword [edi + 0x80], ebp
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