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

Disassembly:
sub esp, 0x14c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x170]
mov ecx, dword [esi]
xor eax, eax
push edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
cmp ecx, dword [esi + 4]
jae 0x48397e
mov edi, dword [esp + 0x17c]
mov ebp, dword [esp + 0x160]
inc ecx
mov dword [esi], ecx
cmp edi, dword [esi + 8]
jae 0x483990
cmp dword [esi + 0x8c], 2
jne 0x47dcf0
mov ecx, dword [esp + 0x178]
lea edx, [esp + 0x58]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ecx
mov dword [esp + 0x178], edx
mov dword [esi + 0x8c], eax
lea esp, [esp]
mov edi, dword [esp + 0x164]
mov al, byte [edi]
movzx ebx, al
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ebx
cmp ebx, 0x9a
ja case.0x47dd1d.98
movzx ecx, byte [ebx + 0x486580]
jmp dword [ecx*4 + 0x48643c]
mov dword [esp + 0x18], edx
jmp 0x47ea2b
movzx esi, byte [edi + 1]
movzx eax, byte [edi + 2]
shl esi, 8
or esi, eax
cmp byte [edi + 3], 0x70
jne 0x47de4b
mov ecx, dword [0x4c3fb8]
cmp ecx, edx
je 0x47de41
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xa8], 2
movzx edx, byte [eax + 4]
mov dword [esp + 0xac], edx
mov edx, dword [ebx + 0xc]
mov dword [esp + 0xb0], edx
mov edx, dword [ebx + 0x68]
mov dword [esp + 0xb4], edx
mov edx, dword [ebx + 0x6c]
sub edx, dword [ebx + 0x68]
sar edx, 1
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x168]
sub edx, dword [ebx + 0x68]
sar edx, 1
mov dword [esp + 0xbc], edx
mov edx, ebp
sub edx, dword [ebx + 0x68]
sar edx, 1
mov dword [esp + 0xc0], edx
movzx edx, byte [eax + 5]
movzx edi, byte [eax + 6]
shl edx, 8
or edx, edi
mov edi, dword [esp + 0x16c]
mov dword [esp + 0xd0], edx
movzx edx, byte [eax + 7]
movzx eax, byte [eax + 8]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xd4], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc4], eax
mov edx, dword [ebx + 0x84]
mov dword [esp + 0xc8], edx
mov eax, dword [ebx + 0x9c]
lea edx, [esp + 0xa8]
push edx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xdc], edi
call ecx
add esp, 4
test eax, eax
jg 0x48457c
js 0x486431
mov edi, dword [esp + 0x164]
xor edx, edx
add edi, 0xa
mov dword [esp + 0x164], edi
movzx ecx, byte [edi + 3]
mov ebx, dword [esp + 0x174]
lea eax, [edi + 3]
cmp ecx, 0x88
je 0x47e0de
cmp ecx, 0x89
je 0x47e0de
cmp ecx, 0x86
je 0x47df01
cmp ecx, 0x87
je 0x47df01
cmp ecx, 0x8a
jne 0x47dea1
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
jmp 0x47e2ca
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x170]
inc edx
push edx
mov edx, dword [esp + 0x170]
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x178]
push edx
push ecx
push eax
push ebp
mov dword [ebx + 0x8c], 1
call fcn.0047dc80
add esp, 0x20
cmp eax, 1
je 0x4838ba
test eax, eax
je 0x47defa
cmp eax, 0xfffffc20
jne 0x486431
cmp dword [ebx + 0x70], edi
jne 0x486431
add edi, esi
jmp 0x47e2ca
movzx eax, byte [edi + 4]
movzx esi, byte [edi + 5]
shl eax, 8
or eax, esi
add eax, eax
cmp eax, dword [esp + 0x170]
jge 0x47df25
mov esi, dword [ebx + 0xc]
cmp dword [esi + eax*4], edx
jge 0x47e0ca
mov dword [esp + 0x24], edx
cmp ecx, 0x87
jne 0x47e099
mov edx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
xor ecx, ecx
sar eax, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
test edx, edx
jle 0x47df79
jmp 0x47df50
movzx edx, word [esi]
movzx edi, word [esi + 2]
shl edx, 8
or edx, edi
cmp edx, eax
je 0x47df71
mov edx, dword [ebx + 0x24]
lea esi, [esi + edx*2]
mov edx, dword [esp + 0x14]
inc ecx
cmp ecx, edx
jl 0x47df50
jmp 0x47df75
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
cmp ecx, edx
jge 0x47e099
mov eax, dword [ebx + 0x28]
mov edi, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x47e003
mov ebx, dword [ebx + 0x24]
add ebx, ebx
sub edi, ebx
lea ecx, [edi + 4]
lea eax, [esi + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47dfc1
test dx, dx
je 0x47dfbd
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47dfc1
add eax, 4
add ecx, 4
test dx, dx
jne 0x47df9b
xor eax, eax
jmp 0x47dfc6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e003
movzx eax, word [edi]
movzx ecx, word [edi + 2]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x170]
jge 0x47dff5
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47e0bf
mov dword [esp + 0x24], 0
cmp edi, dword [esp + 0x30]
ja 0x47df93
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jge 0x47e099
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x24]
add edi, edi
lea ebx, [esi + 4]
add esi, edi
lea ecx, [esi + 4]
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47e052
test dx, dx
je 0x47e04e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47e052
add eax, 4
add ecx, 4
test dx, dx
jne 0x47e02c
xor eax, eax
jmp 0x47e057
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e099
movzx ecx, word [esi]
movzx eax, word [esi + 2]
shl ecx, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x170]
jge 0x47e082
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47e0bf
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jl 0x47e025
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
mov ebx, dword [esp + 0x174]
shl eax, 8
or eax, edx
mov edi, ecx
xor edx, edx
add edi, eax
jmp 0x47e2c0
mov edi, dword [esp + 0x164]
mov ebx, edx
xor edx, edx
mov eax, 3
mov dword [esp + 0x24], 1
add edi, eax
jmp 0x47e2c0
cmp dword [ebx + 0x98], edx
jne 0x47e0fa
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
jmp 0x47e2ca
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 5]
shl eax, 8
or eax, edx
cmp eax, 0xffff
je 0x47e171
mov edx, dword [ebx + 0x98]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x30], edx
cmp eax, edx
je 0x47e171
mov dword [esp + 0x24], 0
cmp ecx, 0x89
jne 0x47e295
mov edx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x28]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
test edx, edx
jle 0x47e18b
jmp 0x47e150
movzx edx, word [edi]
movzx esi, word [edi + 2]
shl edx, 8
or edx, esi
cmp edx, eax
je 0x47e183
mov edx, dword [ebx + 0x24]
lea edi, [edi + edx*2]
mov edx, dword [esp + 0x14]
inc ecx
cmp ecx, edx
jl 0x47e150
jmp 0x47e187
mov dword [esp + 0x24], 1
mov eax, 3
jmp 0x47e2a9
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
cmp ecx, edx
jge 0x47e295
mov ebx, dword [ebx + 0x28]
mov esi, edi
mov dword [esp + 0x34], ebx
cmp edi, ebx
jbe 0x47e20c
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x24]
add ebx, ebx
lea esp, [esp]
sub esi, ebx
lea ecx, [esi + 4]
lea eax, [edi + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47e1de
test dx, dx
je 0x47e1da
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47e1de
add eax, 4
add ecx, 4
test dx, dx
jne 0x47e1b8
xor eax, eax
jmp 0x47e1e3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e20c
movzx ecx, word [esi]
movzx edx, word [esi + 2]
shl ecx, 8
or ecx, edx
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x24], eax
test eax, eax
jne 0x47e179
cmp esi, dword [esp + 0x34]
ja 0x47e1b0
mov eax, dword [esp + 0x18]
inc eax
mov esi, edi
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jge 0x47e295
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x24]
add ebx, ebx
lea esp, [esp]
add esi, ebx
lea ecx, [esi + 4]
lea eax, [edi + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47e25e
test dx, dx
je 0x47e25a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47e25e
add eax, 4
add ecx, 4
test dx, dx
jne 0x47e238
xor eax, eax
jmp 0x47e263
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e295
movzx ecx, word [esi]
movzx edx, word [esi + 2]
shl ecx, 8
or ecx, edx
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x24], eax
test eax, eax
jne 0x47e179
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jl 0x47e230
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
add dword [esp + 0x164], eax
mov ebx, dword [esp + 0x174]
mov edi, dword [esp + 0x164]
xor edx, edx
cmp dword [esp + 0x24], edx
jne 0x483912
cmp byte [edi], 0x71
je 0x483912
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
movzx eax, byte [edi + 1]
movzx edx, byte [edi + 2]
mov ecx, dword [esp + 0x174]
shl eax, 8
or eax, edx
lea edx, [eax + eax]
mov dword [ecx + 0x84], eax
cmp edx, dword [ecx + 0x14]
jl 0x47e31a
add edi, 3
mov dword [ecx + 0x38], 1
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov ebx, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
sub ebx, eax
mov eax, dword [esi + ebx*4]
mov dword [esi + edx*4], eax
mov eax, ebp
sub eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0xc]
sar eax, 1
mov dword [ecx + edx*4 + 4], eax
cmp dword [esp + 0x170], edx
jg 0x47e349
add edx, 2
mov dword [esp + 0x170], edx
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
mov eax, 1
cmp dword [esi + 0x8c], eax
jne 0x47e378
mov dword [esp + 0x24], eax
mov dword [esi + 0x8c], edx
jmp 0x47e37c
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x17c]
mov edi, dword [esp + 0x16c]
inc ebx
jmp 0x47e390
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
push ebx
push 0
push esi
push edx
push edi
push eax
add ecx, 3
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 1
je 0x47e40a
cmp eax, 0xfffffc19
je 0x47e40a
test eax, eax
je 0x47e3e6
cmp eax, 0xfffffc20
jne 0x486431
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486431
jmp 0x47e3ed
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x47e390
jmp 0x47e428
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0xa0]
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x16c], edi
cmp byte [ecx], 0x72
je 0x484104
cmp dword [esp + 0x24], 0
jne 0x484320
lea esp, [esp]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
je 0x47e440
add ecx, 3
mov dword [esp + 0x164], ecx
mov ecx, dword [esi + 0x80]
mov dword [esp + 0x170], ecx
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
mov eax, 1
cmp dword [esi + 0x8c], eax
jne 0x47e490
mov dword [esp + 0x24], eax
mov dword [esi + 0x8c], edx
jmp 0x47e494
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x16c]
inc edi
jmp 0x47e4b0
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
push edi
push 0
push esi
push edx
push ebx
push eax
add ecx, 3
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 1
je 0x484117
cmp eax, 0xfffffc19
je 0x484117
cmp eax, 0xfffffc1e
je 0x47e54b
cmp eax, 0xfffffc1d
je 0x47e54b
cmp eax, 0xfffffc1a
je 0x47e54b
test eax, eax
je 0x47e523
cmp eax, 0xfffffc20
jne 0x486431
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486431
jmp 0x47e52a
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x47e4b0
jmp 0x47e566
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
je 0x47e552
cmp dword [esp + 0x24], 0
jne 0x484320
add ecx, 3
mov dword [esp + 0x164], ecx
jmp 0x47dcf0
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
mov esi, dword [esp + 0x174]
shl ecx, 8
or ecx, edx
jle 0x47e5f7
mov edx, dword [esi + 0x68]
lea esp, [esp]
sub ebp, 2
dec ecx
cmp ebp, edx
jb 0x47f6eb
movzx eax, word [ebp]
mov ebx, 0xdc00
cmp ax, bx
jb 0x47e5f3
lea ebx, [ebx]
mov ebx, 0xdfff
cmp ax, bx
ja 0x47e5f3
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x47e5f3
mov ebx, 0xdbff
cmp ax, bx
ja 0x47e5f3
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ebx, 0xdc00
cmp ax, bx
jae 0x47e5c0
test ecx, ecx
jg 0x47e5a0
cmp ebp, dword [esi + 0x78]
jae 0x47e5ff
mov dword [esi + 0x78], ebp
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov ecx, dword [0x4c3fb8]
mov ebx, dword [esp + 0x164]
cmp ecx, edx
je 0x47e6f1
mov esi, dword [esp + 0x174]
mov dword [esp + 0x60], 2
movzx eax, byte [ebx + 1]
mov dword [esp + 0x64], eax
mov edx, dword [esi + 0xc]
mov dword [esp + 0x68], edx
mov eax, dword [esi + 0x68]
mov dword [esp + 0x6c], eax
mov edx, dword [esi + 0x6c]
sub edx, dword [esi + 0x68]
mov eax, dword [esp + 0x168]
sar edx, 1
mov dword [esp + 0x70], edx
sub eax, dword [esi + 0x68]
mov edx, ebp
sar eax, 1
mov dword [esp + 0x74], eax
sub edx, dword [esi + 0x68]
mov edi, dword [esp + 0x16c]
sar edx, 1
mov dword [esp + 0x78], edx
movzx eax, byte [ebx + 6]
movzx edx, byte [ebx + 7]
shl eax, 8
or eax, edx
mov dword [esp + 0x88], eax
movzx eax, byte [ebx + 8]
movzx edx, byte [ebx + 9]
shl eax, 8
or eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x80], eax
mov edx, dword [esi + 0x9c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x90], edi
mov eax, dword [ebx + 2]
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x98], eax
call ecx
add esp, 4
test eax, eax
jg 0x484104
js 0x486431
add ebx, 0xa
mov dword [esp + 0x164], ebx
jmp 0x47dcf0
mov edx, dword [esp + 0x164]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
mov edi, dword [esp + 0x174]
shl esi, 8
or esi, eax
add esi, dword [edi + 0x64]
cmp esi, dword [edi + 0x64]
jne 0x47e727
xor ecx, ecx
jmp 0x47e734
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [edi + 0x98]
test eax, eax
je 0x47e754
mov edi, edi
cmp ecx, dword [eax + 0xc]
jne 0x47e74e
cmp ebp, dword [eax + 0x10]
je 0x48412a
mov eax, dword [eax]
test eax, eax
jne 0x47e740
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ebp
mov ecx, dword [edi + 0x98]
mov dword [esp + 0x44], ecx
lea eax, [esp + 0x44]
mov dword [edi + 0x98], eax
mov ecx, dword [edi + 0x10]
add edx, 3
mov dword [esp + 0x164], edx
mov dword [esp + 0x4c], ecx
cmp ecx, 0x1e
jg 0x47e793
lea eax, [esp + 0xe0]
mov dword [esp + 0x48], eax
jmp 0x47e7b1
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x4be358]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x48413a
mov ecx, dword [esp + 0x4c]
lea edx, [ecx*4]
mov ecx, dword [edi + 0xc]
push edx
push ecx
push eax
call fcn.00490240
mov edx, dword [esp + 0x188]
add esp, 0xc
cmp byte [esi], 0x81
sbb eax, eax
inc eax
inc edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
lea esp, [esp]
test eax, eax
je 0x47e7ee
mov dword [edi + 0x8c], 2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
movzx edx, byte [esi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
add eax, esi
push eax
push ebp
call fcn.0047dc80
mov ecx, dword [esp + 0x6c]
lea edx, [ecx*4]
mov ecx, dword [edi + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x68]
push edx
push eax
push ecx
call fcn.00490240
add esp, 0x2c
cmp ebx, 1
je 0x47e89e
cmp ebx, 0xfffffc19
je 0x47e89e
test ebx, ebx
je 0x47e873
cmp ebx, 0xfffffc20
jne 0x48414a
mov edx, dword [esp + 0x164]
cmp dword [edi + 0x70], edx
jne 0x48414a
lea eax, [esp + 0x44]
mov dword [edi + 0x98], eax
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
jne 0x484170
mov eax, dword [esp + 0x24]
jmp 0x47e7e0
mov eax, dword [esp + 0x44]
mov dword [edi + 0x98], eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xe0]
cmp eax, ecx
je 0x47e8c1
push eax
call dword [0x4be35c]
add esp, 4
mov edx, dword [edi + 0x70]
mov ebp, dword [edi + 0x74]
mov dword [esp + 0x168], edx
jmp 0x47dcf0
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x71
je case.0x47dd1d.113
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
inc edx
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
lea esi, [edi + 1]
push esi
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
lea esp, [esp]
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47e940
add esi, 3
mov dword [esp + 0x164], esi
jmp 0x47dcf0
lea esi, [edi + 1]
mov eax, esi
jmp 0x47e970
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x71
je 0x47e970
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
inc ecx
push ecx
mov ecx, dword [esp + 0x178]
push edx
mov edx, dword [esp + 0x178]
push ecx
mov ecx, dword [esp + 0x178]
push edx
mov edx, dword [esp + 0x178]
push ecx
push edx
add eax, 3
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov dword [esp + 0x164], esi
jmp 0x47dcf0
lea eax, [edi + 1]
lea esp, [esp]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x71
je 0x47e9e0
add eax, 3
mov dword [esp + 0x164], eax
jmp 0x47dcf0
movzx eax, byte [edi + 1]
inc edi
mov dword [esp + 0x164], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 1
cmp eax, 0x7f
je 0x47ea2b
cmp eax, 0x84
jne 0x47ebf5
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
mov esi, dword [esp + 0x174]
shl ecx, 8
or ecx, eax
lea edx, [ecx + ecx]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], edx
cmp edx, dword [esi + 0x14]
jge 0x47ebed
mov eax, dword [esi + 0xc]
mov edi, dword [eax + edx*4]
mov edx, dword [eax + edx*4 + 4]
mov ebx, dword [esp + 0x164]
sub ebx, dword [esi + 0x64]
mov dword [esp + 0x34], edx
mov edx, dword [esi + 0x10]
sub edx, ecx
mov eax, dword [eax + edx*4]
mov edx, dword [esp + 0x17c]
mov ecx, dword [esi + 0x84]
inc edx
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x164]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x24]
mov edx, dword [esi + 0xc]
mov eax, ebp
sub eax, dword [esi + 0x68]
sar eax, 1
cmp dword [esp + 0x28], 0x81
mov dword [edx + ecx*4], eax
jl 0x47eac8
mov dword [esi + 0x8c], 2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push esi
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
add eax, edi
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 0xfffffc1b
jne 0x47eb37
mov ecx, dword [esi + 0x80]
mov edi, dword [esi + 0x64]
mov edx, dword [esi + 0x84]
mov ebp, dword [esi + 0x74]
mov dword [esp + 0x170], ecx
add edi, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 1
jmp 0x47eaa0
test eax, eax
je 0x47eb4f
cmp eax, 0xfffffc20
jne 0x486431
cmp dword [esi + 0x70], edi
jne 0x486431
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x84], ecx
movzx edx, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl edx, 8
or edx, ecx
add edi, edx
cmp byte [edi], 0x71
je 0x47eaa0
cmp dword [esp + 0x14], 0
jne 0x47eba2
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
mov dword [edx + ecx*4], ebx
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 0x34]
mov dword [edx + ecx*4 + 4], ebx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x24]
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [edx + ecx*4], ebx
cmp eax, 0xfffffc20
je 0x47ebbf
cmp dword [esi + 0xa0], 0
jne 0x47ebbf
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x18], 0
jne 0x47ebd1
cmp dword [esp + 0x14], 0
je 0x480017
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
mov dword [esp + 0x18], edx
jmp 0x47ebfc
xor edx, edx
mov dword [esp + 0x18], edx
jmp 0x47ebfc
mov esi, dword [esp + 0x174]
sub edi, dword [esi + 0x64]
mov ecx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x170]
inc ecx
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x164]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x28], 0x81
jl 0x47ec35
mov dword [esi + 0x8c], 2
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x16c]
push edx
mov edx, dword [esp + 0x16c]
push eax
movzx eax, byte [edi]
push esi
push ebx
push ecx
movzx ecx, byte [eax + 0x4b4588]
push edx
add ecx, edi
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 0xfffffc1b
jne 0x47ec92
mov ebx, dword [esi + 0x80]
mov edi, dword [esi + 0x64]
mov ebp, dword [esi + 0x74]
add edi, dword [esp + 0x3c]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x14], 1
jmp 0x47ec21
test eax, eax
je 0x47ecaa
cmp eax, 0xfffffc20
jne 0x486431
cmp dword [esi + 0x70], edi
jne 0x486431
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, edx
cmp byte [edi], 0x71
je 0x47ec21
cmp dword [esp + 0x14], 0
jne 0x47ecd4
cmp dword [esp + 0x18], 0
je 0x480017
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0x14], eax
mov al, byte [eax]
cmp al, 0x81
jae 0x47ed02
cmp al, 0x7b
jne 0x47ed15
mov ecx, dword [esp + 0x178]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x30], edx
cmp al, 0x77
je 0x4842f2
cmp al, 0x78
je 0x4842f2
cmp al, 0x79
je 0x4842f2
cmp al, 0x7a
je 0x4842f2
cmp al, 0x7e
je 0x47ed4d
cmp al, 0x83
je 0x47ed4d
cmp al, 0x7f
je 0x47ed4d
cmp al, 0x84
jne 0x47eded
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax + 3]
movzx edx, byte [eax + 4]
mov esi, dword [esp + 0x174]
shl ebx, 8
or ebx, edx
cmp dword [esi + 0x98], 0
lea edx, [ebx + ebx]
je 0x47ed80
mov eax, dword [esi + 0x98]
cmp dword [eax + 0xc], ebx
je 0x4841ad
mov dword [esi + 0x84], ebx
cmp edx, dword [esi + 0x14]
jl 0x47ed94
mov dword [esi + 0x38], 1
jmp 0x47edf4
mov ecx, dword [esp + 0x170]
cmp edx, ecx
jle 0x47edc1
mov eax, dword [esi + 0xc]
lea edi, [eax + ecx*4]
lea eax, [eax + edx*4]
cmp edi, eax
jae 0x47edc1
mov ecx, eax
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x170]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub edi, ebx
mov edi, dword [eax + edi*4]
mov dword [eax + edx*4], edi
mov edi, dword [esi + 0xc]
mov eax, ebp
sub eax, dword [esi + 0x68]
sar eax, 1
mov dword [edi + edx*4 + 4], eax
cmp ecx, edx
jg 0x47edf4
add edx, 2
mov dword [esp + 0x170], edx
jmp 0x47edf4
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x164]
cmp byte [eax], 0x72
je 0x47ee0a
cmp ebp, dword [esp + 0x30]
jne 0x4837b3
mov edi, dword [esp + 0x14]
add eax, 3
cmp byte [edi], 0x7b
je 0x4842a0
mov dword [esp + 0x164], eax
jmp 0x47dcf0
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x3c], edx
je 0x47ee44
cmp ebp, dword [eax + 0x68]
je 0x4840ac
jmp 0x47ee44
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x68]
jne 0x484330
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov ebx, dword [esp + 0x174]
cmp dword [ebx + 0x3c], edx
je 0x47ee6f
cmp ebp, dword [ebx + 0x68]
je 0x48434a
mov ecx, dword [ebx + 0x68]
cmp ebp, ecx
je 0x47eedf
cmp ebp, dword [ebx + 0x6c]
je 0x47ee9a
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x47eeb4
cmp ebp, ecx
jbe 0x47ee9a
push eax
lea edi, [ebx + 0x1c]
mov esi, ecx
mov eax, ebp
call fcn.00487810
add esp, 4
test eax, eax
jne 0x47eedf
mov ecx, dword [esp + 0x16c]
mov dword [ebx + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx]
add eax, ecx
cmp ebp, eax
jb 0x47ee9a
mov eax, ebp
sub eax, ecx
movzx ecx, byte [ebx + 0x2c]
cmp word [eax], cx
jne 0x47ee9a
cmp edx, 1
je 0x47eedf
movzx edx, byte [ebx + 0x2d]
cmp word [eax + 2], dx
jne 0x47ee9a
inc dword [esp + 0x164]
jmp 0x47dcf0
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x68]
lea ecx, [edx + ecx*2]
cmp ebp, ecx
jne 0x484330
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
inc edi
mov dword [esp + 0x168], ebp
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x47efaa
mov eax, dword [esi + 0x18]
cmp eax, edx
je 0x47ef69
push 1
push eax
mov eax, dword [esi + 0x6c]
lea edi, [esi + 0x1c]
mov ecx, ebp
call fcn.00487740
add esp, 8
test eax, eax
je 0x483ffc
mov edi, dword [esp + 0x164]
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x6c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja 0x483ffc
movzx edx, byte [esi + 0x2c]
cmp word [ebp], dx
jne 0x483ffc
cmp eax, 1
je 0x47efca
movzx eax, byte [esi + 0x2d]
cmp word [ebp + 2], ax
jne 0x483ffc
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
cmp dword [esi + 0x40], edx
jne 0x47effa
cmp dword [esi + 0x7c], edx
je 0x47efca
cmp ebp, dword [esi + 0x78]
jbe 0x47efca
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jg 0x484387
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
cmp dword [esi + 0x40], edx
jne 0x483ffc
cmp dword [esi + 0x50], edx
je 0x47f01b
jmp 0x47eff5
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x47efaf
mov ecx, dword [esp + 0x16c]
mov dword [esi + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x47f088
mov eax, dword [esi + 0x18]
lea edi, [esi + 0x1c]
cmp eax, edx
je 0x47f044
push 1
push eax
mov eax, dword [esi + 0x6c]
mov ecx, ebp
call fcn.00487740
add esp, 8
test eax, eax
je 0x483ffc
jmp 0x47f077
mov eax, dword [edi]
mov edx, dword [esi + 0x6c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x483ffc
movzx ecx, byte [esi + 0x2c]
cmp word [ebp], cx
jne 0x483ffc
cmp eax, 1
je 0x47f077
movzx edx, byte [esi + 0x2d]
cmp word [ebp + 2], dx
jne 0x483ffc
mov eax, dword [edi]
mov ecx, dword [esi + 0x6c]
add eax, eax
sub ecx, eax
cmp ebp, ecx
jne 0x483ffc
cmp dword [esi + 0x7c], 0
je 0x47f0b0
cmp ebp, dword [esi + 0x78]
jbe 0x47f0b0
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jg 0x484a9f
add dword [esp + 0x164], eax
jmp 0x47dcf0
mov eax, 1
add dword [esp + 0x164], eax
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x68]
je 0x47f1ae
movzx ecx, word [ebp - 2]
lea eax, [ebp - 2]
mov ebx, 0xdc00
cmp cx, bx
jb 0x47f115
mov ebx, 0xdfff
cmp cx, bx
ja 0x47f115
movzx ecx, word [eax - 2]
mov ebx, 0xd800
cmp cx, bx
jb 0x47f115
mov ebx, 0xdbff
cmp cx, bx
ja 0x47f115
movzx ecx, word [eax - 2]
add eax, 0xfffffffe
mov ebx, 0xdc00
cmp cx, bx
jae 0x47f0e2
cmp eax, dword [esi + 0x78]
jae 0x47f11d
mov dword [esi + 0x78], eax
movzx ecx, word [eax]
lea ebx, [ecx - 0xd800]
cmp ebx, 0x3ff
ja 0x47f14b
movzx eax, word [eax + 2]
lea ebx, [eax - 0xdc00]
cmp ebx, 0x3ff
ja 0x47f14b
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, eax
cmp dword [esi + 0x48], edx
je 0x47f196
cmp ecx, 0x5f
jne 0x47f15a
lea edx, [ecx - 0x5e]
jmp 0x47f1b0
mov edx, ecx
shr edx, 7
movzx eax, byte [edx + 0x4a6a88]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx ecx, word [eax*2 + 0x4a8c88]
movzx edx, byte [ecx*8 + 0x4a59a9]
mov eax, dword [edx*4 + 0x4b46b0]
cmp eax, 1
je 0x47f18f
cmp eax, 3
jne 0x47f1ae
mov edx, 1
jmp 0x47f1b0
cmp ecx, 0x100
jae 0x47f1ae
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
je 0x47f1ae
mov edx, 1
jmp 0x47f1b0
xor edx, edx
cmp ebp, dword [esi + 0x6c]
jb 0x47f1f2
cmp dword [esi + 0x7c], 0
je 0x47f1d1
cmp ebp, dword [esi + 0x78]
jbe 0x47f1d1
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jg 0x484387
xor eax, eax
mov cl, byte [edi]
inc edi
mov dword [esp + 0x164], edi
cmp cl, 5
jne 0x47f297
xor ecx, ecx
cmp eax, edx
sete cl
jmp 0x47f29e
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x47f220
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x47f220
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
cmp dword [esi + 0x48], 0
je 0x47f275
cmp eax, 0x5f
jne 0x47f232
mov eax, 1
jmp 0x47f1d3
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [ecx*4 + 0x4b46b0]
cmp eax, 1
je 0x47f26b
cmp eax, 3
jne 0x47f1d1
mov eax, 1
jmp 0x47f1d3
cmp eax, 0x100
jae 0x47f1d1
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 0x10
je 0x47f1d1
mov eax, 1
jmp 0x47f1d3
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, ecx
test eax, eax
je 0x47dcf0
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x18]
cmp eax, edx
je 0x47f2ff
cmp ebp, dword [esi + 0x6c]
jae 0x484364
push 1
push eax
mov eax, dword [esi + 0x6c]
lea edi, [esi + 0x1c]
mov ecx, ebp
call fcn.00487740
add esp, 8
test eax, eax
jne 0x47effa
mov edi, dword [esp + 0x164]
xor edx, edx
jmp 0x47f338
mov eax, dword [esi + 0x1c]
mov ebx, dword [esi + 0x6c]
lea ecx, [eax + eax]
sub ebx, ecx
cmp ebp, ebx
ja 0x47f338
movzx ecx, byte [esi + 0x2c]
cmp word [ebp], cx
jne 0x47f338
cmp eax, 1
je 0x47effa
movzx eax, byte [esi + 0x2d]
cmp word [ebp + 2], ax
je 0x47effa
jmp 0x47f338
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x484364
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x47efca
mov edx, 0xdfff
cmp ax, dx
ja 0x47efca
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x47efca
mov edx, 0xdbff
cmp ax, dx
ja 0x47efca
add ebp, 2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x4843a4
add ebp, 2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x4843dc
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f3f8
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f3f8
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47efca
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 4
je 0x47efca
mov eax, dword [esp + 0x16c]
mov dword [edx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48441d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f46e
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f46e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f482
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 4
jne 0x47efca
mov ecx, dword [esp + 0x16c]
mov dword [edx + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x4843dc
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f4e0
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f4e0
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47efca
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 1
jne 0x47f410
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48441d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f549
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f549
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f482
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 1
je 0x47f482
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x4843dc
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f5b2
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f5b2
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47efca
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 0x10
jne 0x47f410
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48441d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f61b
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f61b
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f482
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 0x10
je 0x47f482
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
cmp ebp, edx
jae 0x48445e
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f686
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x47f686
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xd
ja 0x47f6c4
je 0x47f6a1
cmp eax, 0xa
je 0x47efca
jbe 0x47effa
cmp eax, 0xc
jmp 0x47f6db
cmp ebp, edx
jae 0x47efca
cmp word [ebp], 0xa
jne 0x47efca
add ebp, 2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
cmp eax, 0x85
je 0x47f6e1
cmp eax, 0x2027
jbe 0x47effa
cmp eax, 0x2029
ja 0x47effa
cmp dword [esi + 0x60], 0
je 0x47efca
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x4843dc
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f749
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f749
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x47f778
je 0x47f410
cmp eax, 0xa0
ja 0x47f771
je 0x47f410
cmp eax, 9
je 0x47f410
cmp eax, 0x20
jmp 0x47f7a7
cmp eax, 0x1680
jmp 0x47f7a7
cmp eax, 0x205f
ja 0x47f7a2
je 0x47f410
cmp eax, 0x2000
jb 0x47efca
cmp eax, 0x200a
jbe 0x47f410
cmp eax, 0x202f
jmp 0x47f7a7
cmp eax, 0x3000
je 0x47f410
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48441d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f7fe
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f7fe
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x47f82d
je 0x47efca
cmp eax, 0xa0
ja 0x47f826
je 0x47efca
cmp eax, 9
je 0x47efca
cmp eax, 0x20
jmp 0x47f85c
cmp eax, 0x1680
jmp 0x47f85c
cmp eax, 0x205f
ja 0x47f857
je 0x47efca
cmp eax, 0x2000
jb 0x47f482
cmp eax, 0x200a
jbe 0x47efca
cmp eax, 0x202f
jmp 0x47f85c
cmp eax, 0x3000
jne 0x47f482
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x4843dc
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f8b3
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f8b3
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x47f8ce
je 0x47f410
cmp eax, 0xa
jb 0x47efca
cmp eax, 0xd
jmp 0x47f8de
cmp eax, 0x2028
jb 0x47efca
cmp eax, 0x2029
jbe 0x47f410
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48441d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f935
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f935
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x47f950
je 0x47efca
cmp eax, 0xa
jb 0x47f482
cmp eax, 0xd
jmp 0x47f960
cmp eax, 0x2028
jb 0x47f482
cmp eax, 0x2029
ja 0x47f482
inc edi
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x484364
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x47f9b7
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x47f9b7
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx ecx, word [edx*2 + 0x4a8c88]
movzx edx, byte [edi + 1]
lea ecx, [ecx*8 + 0x4a59a8]
cmp edx, 8
ja case.default.0x47f9e9
jmp dword [edx*4 + 0x48661c]
cmp ebx, 0xf
je 0x47effa
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x47fa1e
cmp cl, 5
je 0x47fa1e
cmp cl, 8
je 0x47fa1e
xor eax, eax
jmp 0x47fa23
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je 0x47f6eb
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
movzx eax, byte [ecx + 1]
movzx ecx, byte [edi + 2]
xor edx, edx
cmp ecx, dword [eax*4 + 0x4b46b0]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x47fbb0
mov dl, byte [edi + 2]
xor eax, eax
cmp dl, byte [ecx + 1]
setne al
xor ecx, ecx
cmp ebx, 0x10
sete cl
cmp eax, ecx
je 0x47effa
mov edi, dword [esp + 0x164]
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov dl, byte [edi + 2]
xor eax, eax
cmp dl, byte [ecx]
setne al
xor ecx, ecx
cmp ebx, 0x10
sete cl
cmp eax, ecx
je 0x47f6eb
mov edi, dword [esp + 0x164]
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
movzx edx, byte [ecx + 1]
mov eax, dword [edx*4 + 0x4b46b0]
cmp eax, 1
je 0x47fba1
cmp eax, 3
je 0x47fba1
xor eax, eax
jmp 0x47fba6
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4b46b0], 6
je 0x47fb10
cmp eax, 9
je 0x47fb10
cmp eax, 0xa
je 0x47fb10
cmp eax, 0xc
je 0x47fb10
cmp eax, 0xd
je 0x47fb10
xor eax, eax
jmp 0x47fb15
mov eax, 1
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
je 0x47effa
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4b46b0], 6
je 0x47fb5f
cmp eax, 9
je 0x47fb5f
cmp eax, 0xa
je 0x47fb5f
cmp eax, 0xb
je 0x47fb5f
cmp eax, 0xc
je 0x47fb5f
cmp eax, 0xd
je 0x47fb5f
xor eax, eax
jmp 0x47fb64
mov eax, 1
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
je 0x47f6eb
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4b46b0]
cmp ecx, 1
je 0x47fba1
cmp ecx, 3
je 0x47fba1
cmp eax, 0x5f
je 0x47fba1
xor eax, eax
jmp 0x47fba6
mov eax, 1
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
je 0x483ffc
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47dcf0
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
cmp ebp, esi
jae 0x48441d
movzx eax, word [ebp]
mov ebx, 2
lea ecx, [eax - 0xd800]
add ebp, ebx
cmp ecx, 0x3ff
ja 0x47fc0e
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x47fc0e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, ebx
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], ebx
je 0x47f482
cmp ebp, esi
jae 0x47fcba
jmp 0x47fc50
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x47fc85
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x47fc85
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, ebx
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], ebx
jne 0x47fcba
lea ebp, [ebp + edx*2]
cmp ebp, esi
jb 0x47fc50
inc dword [esp + 0x164]
jmp 0x47dcf0
movzx esi, byte [edi + 1]
movzx eax, byte [edi + 2]
xor edx, edx
cmp ebx, 0x6e
mov ebx, dword [esp + 0x174]
sete dl
shl esi, 8
or esi, eax
add esi, esi
add edi, 3
mov dword [esp + 0x164], edi
mov dword [esp + 0x28], edx
cmp esi, dword [esp + 0x170]
jge 0x47fd0e
mov ecx, dword [ebx + 0xc]
lea eax, [ecx + esi*4]
mov ecx, dword [eax]
test ecx, ecx
js 0x47fd0e
mov eax, dword [eax + 4]
sub eax, ecx
jmp 0x47fd18
mov eax, dword [ebx + 0x4c]
neg eax
sbb eax, eax
neg eax
dec eax
mov ecx, dword [esp + 0x164]
mov dl, byte [ecx]
mov dword [esp + 0x14], eax
movzx eax, dl
lea edi, [eax - 0x62]
cmp edi, 7
ja case.default.0x47fd3b
movzx edi, byte [edi + 0x486648]
jmp dword [edi*4 + 0x486640]
movsx edi, byte [eax + 0x4b55d6]
inc ecx
mov dword [esp + 0x164], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4b55de]
and ecx, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47fdb2
mov dword [esp + 0x10], SysStringLen
jmp 0x47fdb2
movzx edi, byte [ecx + 1]
xor eax, eax
cmp dl, 0x69
movzx edx, byte [ecx + 2]
sete al
shl edi, 8
or edi, edx
movzx edx, byte [ecx + 4]
mov dword [esp + 0x20], eax
movzx eax, byte [ecx + 3]
shl eax, 8
or eax, edx
mov dword [esp + 0x10], eax
jne 0x47fda8
mov dword [esp + 0x10], SysStringLen
add ecx, 5
mov dword [esp + 0x164], ecx
cmp dword [esp + 0x14], 0
je 0x47dcf0
mov dword [esp + 0x18], 1
cmp edi, 1
jl 0x47fdff
lea ebx, [ebx]
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x18]
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047daf0
add esp, 8
test eax, eax
js 0x48458f
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, edi
jle 0x47fdd0
mov eax, dword [esp + 0x10]
cmp edi, eax
je 0x47dcf0
cmp dword [esp + 0x20], 0
je 0x4844af
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x17c]
inc edi
push edi
push ecx
mov ecx, dword [esp + 0x170]
push ebx
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jge 0x47ee9a
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ecx
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047daf0
add esp, 8
test eax, eax
js 0x48458f
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0x16c]
inc dword [esp + 0x18]
push edi
push edx
mov edx, dword [esp + 0x170]
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x178]
push ebx
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x47fe5d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ecx
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047daf0
add esp, 8
test eax, eax
js 0x48458f
lea ebp, [ebp + eax*2]
jmp 0x47dcf0
mov cl, byte [edi + 0x21]
lea edx, [edi + 1]
add edi, 0x21
movzx eax, cl
mov dword [esp + 0x14], edx
lea edx, [eax - 0x62]
mov dword [esp + 0x164], edi
cmp edx, 7
ja case.default.0x47ff20
movzx edx, byte [edx + 0x486658]
jmp dword [edx*4 + 0x486650]
movsx esi, byte [eax + 0x4b55de]
inc dword [esp + 0x164]
movsx edi, byte [eax + 0x4b55d6]
add eax, 0xffffff9e
mov ecx, eax
and ecx, 1
mov dword [esp + 0x20], ecx
test esi, esi
jne 0x47ff9a
mov esi, SysReAllocString
jmp 0x47ff9a
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx esi, byte [eax + 3]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 4]
shl edi, 8
shl esi, 8
or edi, ecx
or esi, edx
jne 0x47ff87
mov esi, SysReAllocString
add eax, 5
mov dword [esp + 0x164], eax
jmp 0x47ff9a
mov esi, 1
mov edi, esi
mov edx, 1
cmp edi, edx
jl 0x48004f
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
cmp ebp, dword [esp + 0x18]
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47fff7
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
mov ebx, dword [esp + 0x28]
ja 0x47fff7
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xff
jbe 0x480024
cmp ebx, 0x6a
jne 0x480046
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x484621
mov ebx, dword [esp + 0x28]
inc edx
cmp edx, edi
jle 0x47ffb5
cmp edi, esi
je 0x47dcf0
cmp dword [esp + 0x20], 0
je 0x48471a
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, edi
mov edi, dword [esp + 0x17c]
inc edi
push edi
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov edi, edi
cmp ebx, esi
jge 0x4846aa
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x4846cb
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x480103
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x4800fc
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
cmp eax, 0xff
jbe 0x484642
cmp dword [esp + 0x28], 0x6a
jne 0x48465c
mov eax, dword [esp + 0x16c]
mov dword [ecx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
lea ecx, [edi + 3]
add edi, edx
mov dword [esp + 0x14], ecx
mov cl, byte [edi]
movzx eax, cl
lea edx, [eax - 0x62]
mov dword [esp + 0x164], edi
cmp edx, 7
ja case.default.0x480164
movzx edx, byte [edx + 0x486668]
jmp dword [edx*4 + 0x486660]
movsx esi, byte [eax + 0x4b55de]
inc dword [esp + 0x164]
movsx edi, byte [eax + 0x4b55d6]
add eax, 0xffffff9e
mov ecx, eax
and ecx, 1
mov dword [esp + 0x20], ecx
test esi, esi
jne 0x4801de
mov esi, SysReAllocString
jmp 0x4801de
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx esi, byte [eax + 3]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 4]
shl edi, 8
shl esi, 8
or edi, ecx
or esi, edx
jne 0x4801cb
mov esi, SysReAllocString
add eax, 5
mov dword [esp + 0x164], eax
jmp 0x4801de
mov esi, 1
mov edi, esi
mov ebx, 1
cmp edi, ebx
jl 0x48024d
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
cmp ebp, dword [esp + 0x18]
jae 0x4848a2
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x480233
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x480233
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
push eax
mov eax, dword [esp + 0x18]
call fcn.004879b0
add esp, 4
test eax, eax
je case.0x47dd1d.150
inc ebx
cmp ebx, edi
jle 0x4801f5
cmp edi, esi
je 0x47dcf0
cmp dword [esp + 0x20], 0
mov ebx, edi
je 0x4848ea
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
inc edi
push edi
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
lea esp, [esp]
cmp ebx, esi
jge case.0x47dd1d.150
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x48521b
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x4802fc
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x4802fc
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
push eax
mov eax, dword [esp + 0x18]
call fcn.004879b0
add esp, 4
test eax, eax
je 0x484621
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push edi
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
inc ebx
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x4802b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x6c]
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 2
jl 0x484a7c
movzx eax, byte [edi + 1]
add edi, 2
mov dword [esp + 0x164], edi
cmp eax, 0xc0
jb 0x480466
test al, 0x20
jne 0x4803a8
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
inc edi
jmp 0x48045f
test al, 0x10
jne 0x4803ce
movzx edx, byte [edi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add edi, 2
jmp 0x48045f
movzx ecx, byte [edi]
movzx edx, byte [edi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x4803fd
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 3
jmp 0x48045f
test al, 4
jne 0x48042b
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add edi, 4
jmp 0x48045f
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 5
mov dword [esp + 0x164], edi
movzx ecx, word [ebp]
lea edx, [ecx - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x48049b
movzx edx, word [ebp]
lea edi, [edx - 0xdc00]
cmp edi, 0x3ff
ja 0x48049b
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, edx
add ebp, 2
cmp eax, ecx
je 0x47dcf0
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x6c]
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 2
jl 0x484a7c
movzx eax, byte [edi + 1]
add edi, 2
mov dword [esp + 0x164], edi
cmp eax, 0xc0
jb 0x4805c4
test al, 0x20
jne 0x480506
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
inc edi
jmp 0x4805bd
test al, 0x10
jne 0x48052c
movzx edx, byte [edi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add edi, 2
jmp 0x4805bd
movzx ecx, byte [edi]
movzx edx, byte [edi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x48055b
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 3
jmp 0x4805bd
test al, 4
jne 0x480589
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add edi, 4
jmp 0x4805bd
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 5
mov dword [esp + 0x164], edi
movzx ecx, word [ebp]
lea edx, [ecx - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x4805f9
movzx edx, word [ebp]
lea edi, [edx - 0xdc00]
cmp edi, 0x3ff
ja 0x4805f9
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, edx
add ebp, 2
cmp eax, 0x80
jae 0x480631
cmp ecx, 0x80
jae 0x480631
mov edx, dword [esi + 0x30]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x47dcf0
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp eax, ecx
je 0x47dcf0
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6a88]
shl edx, 7
mov edi, eax
and edi, 0x7f
add edx, edi
movzx edx, word [edx*2 + 0x4a8c88]
mov edx, dword [edx*8 + 0x4a59ac]
add edx, eax
cmp ecx, edx
je 0x47dcf0
jmp 0x47effa
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov esi, eax
add edi, 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x164], edi
jmp 0x480769
mov dword [esp + 0x24], 1
movzx ecx, byte [edi + 1]
movzx ebx, byte [edi + 2]
shl ecx, 8
xor esi, esi
or ecx, ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], ecx
cmp al, 0x28
je 0x4806be
mov dword [esp + 0x20], edx
cmp al, 0x35
jne 0x4806c6
mov dword [esp + 0x20], 1
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x480769
xor esi, esi
inc edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], esi
mov dword [esp + 0x164], edi
jmp 0x480761
mov esi, 1
add edi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x164], edi
jmp 0x480761
mov eax, 1
xor esi, esi
add edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x164], edi
jmp 0x480769
xor ecx, ecx
cmp ebx, 0x2e
setge cl
mov eax, ebx
inc edi
mov dword [esp + 0x164], edi
dec ecx
and ecx, 0xfffffff3
add ecx, 0x2e
sub eax, ecx
movsx esi, byte [eax + 0x4b5638]
mov ecx, eax
movsx eax, byte [eax + 0x4b5640]
and ecx, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
cmp eax, edx
jne 0x480769
mov dword [esp + 0x10], SysStringLen
mov eax, dword [esp + 0x164]
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x164], eax
cmp ebx, 0xc0
jb 0x480854
test bl, 0x20
jne 0x4807a0
movzx edx, byte [eax]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
inc eax
jmp 0x48084d
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
and ecx, 0x3f
and edx, 0x3f
test bl, 0x10
jne 0x4807c7
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
add eax, 2
jmp 0x48084d
test bl, 8
jne 0x4807ea
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 3
jmp 0x48084d
test bl, 4
jne 0x480819
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [eax + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 4
jmp 0x48084d
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [eax + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [eax + 4]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 5
mov dword [esp + 0x164], eax
lea ecx, [esp + 0x40]
mov eax, ebx
call fcn.00487970
mov edi, eax
mov dword [esp + 0x14], edi
cmp ebx, 0x7f
jbe 0x480bf2
cmp dword [esp + 0x28], 0x2e
jl 0x4808b2
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x4a6a88]
mov edx, ebx
shl ecx, 7
and edx, 0x7f
add ecx, edx
movzx eax, word [ecx*2 + 0x4a8c88]
mov eax, dword [eax*8 + 0x4a59ac]
add eax, ebx
cmp eax, ebx
je 0x4808b2
lea ecx, [esp + 0x98]
call fcn.00487970
mov dword [esp + 0x28], eax
jmp 0x4808ba
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], 1
cmp esi, 1
jl 0x4809d3
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
add edi, edi
mov eax, edx
sub eax, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
jmp 0x4808e9
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x480941
mov eax, dword [esp + 0x14]
add eax, eax
lea ecx, [esp + 0x40]
mov edi, ebp
cmp eax, 4
jb 0x480914
mov edi, edi
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x480941
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480900
test eax, eax
je 0x480938
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x480941
cmp eax, 1
jbe 0x480938
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x480941
cmp eax, 2
jbe 0x480938
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x480941
add ebp, dword [esp + 0x30]
jmp 0x4809be
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x484abc
lea esi, [eax + eax]
mov ecx, edx
sub ecx, esi
cmp ebp, ecx
ja 0x484abc
add eax, eax
lea ecx, [esp + 0x98]
mov edi, ebp
cmp eax, 4
jb 0x480988
lea esp, [esp]
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x484abc
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480970
test eax, eax
je 0x4809b8
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x484abc
cmp eax, 1
jbe 0x4809b8
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x484abc
cmp eax, 2
jbe 0x4809b8
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x484abc
add ebp, esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, esi
jle 0x4808e5
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp esi, eax
je 0x47dcf0
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], esi
jne 0x484b0d
mov dword [esp + 0x20], ebp
cmp esi, eax
jge 0x480b08
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
add edi, edi
mov eax, edx
sub eax, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
jmp 0x480a18
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x480a6e
mov eax, dword [esp + 0x14]
add eax, eax
lea ecx, [esp + 0x40]
mov edi, ebp
cmp eax, 4
jb 0x480a44
lea ecx, [ecx]
mov esi, dword [edi]
cmp esi, dword [ecx]
jne 0x480a6e
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480a30
test eax, eax
je 0x480a68
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x480a6e
cmp eax, 1
jbe 0x480a68
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x480a6e
cmp eax, 2
jbe 0x480a68
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x480a6e
add ebp, dword [esp + 0x30]
jmp 0x480acb
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x480ae0
lea esi, [eax + eax]
mov ecx, edx
sub ecx, esi
cmp ebp, ecx
ja 0x480ae0
add eax, eax
lea ecx, [esp + 0x98]
mov edi, ebp
cmp eax, 4
jb 0x480aa5
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x480ae0
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480a91
test eax, eax
je 0x480ac9
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x480ae0
cmp eax, 1
jbe 0x480ac9
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x480ae0
cmp eax, 2
jbe 0x480ac9
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x480ae0
add ebp, esi
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x10]
jl 0x480a14
jmp 0x480b08
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x480b08
cmp ebp, dword [eax + 0x6c]
jb 0x480b08
cmp ebp, dword [eax + 0x78]
jbe 0x480b08
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x4843bf
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push edi
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
cmp ebp, dword [esp + 0x20]
je 0x480dad
movzx eax, word [ebp - 2]
sub ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x480bb3
jmp 0x480b80
mov edx, 0xdfff
cmp ax, dx
ja 0x480bb3
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x480bb3
mov edx, 0xdbff
cmp ax, dx
ja 0x480bb3
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x480b80
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push edi
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x480b5d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esp + 0x28], 0x2e
jl 0x480dc7
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x30]
movzx ecx, byte [ebx + edi]
mov edx, 1
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], ecx
cmp esi, edx
jl 0x480c88
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
jmp 0x480c2c
mov eax, dword [esp + 0x174]
cmp ebp, dword [esp + 0x18]
jae 0x4848a9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x480c6a
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x480c6a
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xff
ja case.0x47dd1d.150
movzx eax, byte [eax + edi]
cmp dword [esp + 0x14], eax
jne case.0x47dd1d.150
inc edx
cmp edx, esi
jle 0x480c25
mov ebx, dword [esp + 0x10]
cmp esi, ebx
je 0x47dcf0
cmp dword [esp + 0x20], 0
jne 0x484cae
mov dword [esp + 0x20], ebp
mov edi, esi
cmp esi, ebx
jge 0x480d41
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
jmp 0x480cc7
mov eax, dword [esp + 0x174]
cmp ebp, dword [esp + 0x18]
jae 0x480d25
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
mov ecx, 1
cmp edx, 0x3ff
ja 0x480d05
movzx edx, word [ebp + 2]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x480d05
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov ecx, 2
cmp eax, 0xff
ja 0x480d41
mov edx, dword [esp + 0x28]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
jne 0x480d41
inc edi
lea ebp, [ebp + ecx*2]
cmp edi, ebx
jl 0x480cc0
jmp 0x480d41
cmp dword [eax + 0x7c], 0
je 0x480d41
cmp ebp, dword [eax + 0x78]
jbe 0x480d41
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x4843bf
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov edi, dword [esp + 0x16c]
cmp ebp, dword [esp + 0x20]
jb 0x480dad
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x164]
inc esi
jmp 0x480d70
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push edi
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
sub ebp, 2
test eax, eax
jne 0x486431
cmp ebp, dword [esp + 0x20]
jae 0x480d70
mov eax, dword [esp + 0x174]
mov dword [eax + 0xa0], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 1
cmp esi, eax
jl 0x480dfc
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + 0x6c]
lea ebx, [ebx]
cmp ebp, ecx
jae 0x484df5
movzx edi, word [ebp]
add ebp, 2
cmp ebx, edi
jne 0x47f482
inc eax
cmp eax, esi
jle 0x480de0
mov ecx, dword [esp + 0x10]
cmp esi, ecx
je 0x47dcf0
cmp dword [esp + 0x20], 0
jne 0x484e36
mov edx, dword [esp + 0x174]
mov dword [esp + 0x20], ebp
mov eax, esi
cmp esi, ecx
jge 0x480e59
mov esi, dword [edx + 0x6c]
cmp ebp, esi
jae 0x480e3d
movzx edi, word [ebp]
cmp ebx, edi
jne 0x480e59
inc eax
add ebp, 2
cmp eax, ecx
jl 0x480e27
jmp 0x480e59
cmp dword [edx + 0x7c], 0
je 0x480e59
cmp ebp, dword [edx + 0x78]
jbe 0x480e59
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x484441
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov ebx, dword [esp + 0x16c]
cmp ebp, dword [esp + 0x20]
jb 0x480ec4
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x164]
inc esi
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push ebx
push edx
push edi
push ebp
call fcn.0047dc80
add esp, 0x20
sub ebp, 2
test eax, eax
jne 0x486431
cmp ebp, dword [esp + 0x20]
jae 0x480e80
mov edx, dword [esp + 0x174]
mov dword [edx + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x4843dc
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x480f1b
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x480f1b
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp ebx, 0x20
jne 0x480f50
cmp eax, 0x100
jae 0x480f2e
mov ecx, dword [edx + 0x30]
movzx eax, byte [ecx + eax]
movzx ecx, byte [edi + 1]
mov esi, dword [edx + 0x30]
movzx ecx, byte [esi + ecx]
add edi, 2
mov dword [esp + 0x164], edi
cmp ecx, eax
jne 0x47dcf0
jmp 0x47f410
movzx ecx, byte [edi + 1]
add edi, 2
mov dword [esp + 0x164], edi
cmp ecx, eax
jne 0x47dcf0
jmp 0x47f482
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 2]
shl edi, 8
or edi, edx
add eax, 3
mov ecx, edi
mov dword [esp + 0x164], eax
jmp 0x481071
mov edx, dword [esp + 0x164]
movzx edi, byte [edx + 1]
movzx esi, byte [edx + 2]
shl edi, 8
xor ecx, ecx
or edi, esi
cmp al, 0x42
je 0x480fb2
mov dword [esp + 0x20], ecx
cmp al, 0x4f
jne 0x480fba
mov dword [esp + 0x20], 1
mov ebx, dword [esp + 0x28]
add edx, 3
mov dword [esp + 0x164], edx
jmp 0x481071
mov eax, 1
xor ecx, ecx
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
jmp 0x48106c
mov ecx, 1
add dword [esp + 0x164], ecx
mov dword [esp + 0x24], ecx
jmp 0x48106c
mov edi, 1
xor ecx, ecx
add dword [esp + 0x164], edi
mov dword [esp + 0x24], edi
jmp 0x481071
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 2]
shl edi, 8
xor ecx, ecx
or edi, edx
add eax, 3
mov dword [esp + 0x24], 1
mov dword [esp + 0x164], eax
jmp 0x481071
xor ecx, ecx
cmp ebx, 0x48
setl cl
inc dword [esp + 0x164]
mov eax, ebx
dec ecx
and ecx, 0xd
add ecx, 0x3b
sub eax, ecx
movsx edi, byte [eax + 0x4b5640]
mov ecx, eax
and ecx, 1
mov dword [esp + 0x20], ecx
movsx ecx, byte [eax + 0x4b5638]
test edi, edi
jne 0x481071
mov edi, SysReAllocString
mov eax, dword [esp + 0x164]
movzx edx, byte [eax]
inc eax
cmp ebx, 0x48
mov dword [esp + 0x14], edx
mov dword [esp + 0x164], eax
mov ebx, 1
jl 0x4812b2
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x30]
movzx edx, byte [edx + eax]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
cmp ecx, ebx
jl 0x481119
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x484f31
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x4810f4
movzx edx, word [ebp]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x4810f4
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ebp, 2
cmp eax, 0x100
jae 0x481103
mov edx, dword [esp + 0x28]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
je 0x4846aa
mov esi, dword [esp + 0x174]
inc ebx
cmp ebx, ecx
jle 0x4810b6
cmp ecx, edi
je 0x47dcf0
cmp dword [esp + 0x20], 0
mov ebx, ecx
jne 0x484f72
mov dword [esp + 0x20], ebp
cmp ecx, edi
jge 0x4811cc
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x18], eax
jmp 0x481157
mov esi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, dword [esp + 0x18]
jae 0x4811b5
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x481195
movzx edx, word [ebp + 2]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x481195
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov ecx, 2
cmp eax, 0x100
jae 0x4811a4
mov edx, dword [esp + 0x28]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
je 0x4811cc
inc ebx
lea ebp, [ebp + ecx*2]
cmp ebx, edi
jl 0x481150
jmp 0x4811cc
cmp dword [esi + 0x7c], 0
je 0x4811cc
cmp ebp, dword [esi + 0x78]
jbe 0x4811cc
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0x7c], ecx
jg 0x4851f7
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
push eax
push ecx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov edx, ebp
sub ebp, 2
cmp edx, dword [esp + 0x20]
je 0x484a62
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x481273
mov edi, edi
mov edx, 0xdfff
cmp ax, dx
ja 0x481273
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x481273
mov edx, 0xdbff
cmp ax, dx
ja 0x481273
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x481240
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
push ecx
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x481221
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp ecx, 1
jl 0x481312
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x6c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x4848a2
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x481303
movzx edx, word [ebp]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x481303
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ebp, 2
cmp dword [esp + 0x14], eax
je case.0x47dd1d.150
inc ebx
cmp ebx, ecx
jle 0x4812c5
cmp ecx, edi
je 0x47dcf0
cmp dword [esp + 0x20], 0
jne 0x485079
mov dword [esp + 0x20], ebp
mov ebx, ecx
cmp ecx, edi
jge 0x4813ae
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, 1
cmp ebp, dword [esp + 0x18]
jae 0x481390
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x48137f
movzx edx, word [ebp + 2]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x48137f
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov ecx, 2
cmp dword [esp + 0x14], eax
je 0x4813ae
inc ebx
lea ebp, [ebp + ecx*2]
cmp ebx, edi
jl 0x481341
jmp 0x4813ae
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x4813ae
cmp ebp, dword [eax + 0x78]
jbe 0x4813ae
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x4843bf
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc edi
push edi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push esi
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x4851b9
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x481453
mov edx, 0xdfff
cmp ax, dx
ja 0x481453
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x481453
mov edx, 0xdbff
cmp ax, dx
ja 0x481453
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x481420
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push edi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push esi
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x481403
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x164], ecx
mov edi, eax
jmp 0x4815c8
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x164]
movzx ecx, byte [edx + 1]
movzx esi, byte [edx + 2]
mov edi, dword [esp + 0x1c]
shl ecx, 8
or ecx, esi
mov dword [esp + 0x10], ecx
xor ecx, ecx
cmp al, 0x5c
sete cl
add edx, 3
mov dword [esp + 0x164], edx
mov dword [esp + 0x20], ecx
jmp 0x4815c8
mov eax, 1
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
mov edi, edx
jmp 0x4815c0
mov eax, 1
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
mov edi, eax
jmp 0x4815c0
mov eax, 1
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
mov edi, edx
jmp 0x4815c8
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
mov dword [esp + 0x1c], edx
movzx edx, byte [ecx + 2]
mov edi, dword [esp + 0x1c]
shl eax, 8
or eax, edx
add ecx, 3
mov dword [esp + 0x24], 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x164], ecx
jmp 0x4815c8
movsx eax, byte [ebx + 0x4b55eb]
movsx edi, byte [ebx + 0x4b55e3]
inc dword [esp + 0x164]
lea ecx, [ebx - 0x55]
and ecx, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4815c8
mov dword [esp + 0x10], SysStringLen
mov edx, dword [esp + 0x164]
movzx eax, byte [edx]
inc edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x164], edx
cmp eax, 0x10
je 0x4815f1
cmp eax, 0xf
je 0x4815f1
mov ebx, dword [esp + 0x38]
or ecx, 0xffffffff
jmp 0x481613
movzx ebx, byte [edx + 1]
xor ecx, ecx
cmp eax, 0xf
sete cl
add edx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x164], edx
mov dword [esp + 0x2c], ecx
movzx ecx, byte [edx - 2]
mov dword [esp + 0x30], ecx
test edi, edi
jle 0x4823d3
test ecx, ecx
js 0x481be2
cmp ecx, 8
ja case.default.0x47f9e9
jmp dword [ecx*4 + 0x486670]
cmp dword [esp + 0x2c], 0
jne 0x4846aa
mov ecx, 1
cmp edi, ecx
jl 0x4823d3
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea esp, [esp]
cmp ebp, edx
jae 0x4851d3
movzx eax, word [ebp]
add eax, 0xffff2800
add ebp, 2
cmp eax, 0x3ff
ja 0x48168e
movzx eax, word [ebp]
add eax, 0xffff2400
cmp eax, 0x3ff
ja 0x48168e
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x481660
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485214
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4816eb
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4816eb
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx eax, byte [eax*8 + 0x4a59a9]
cmp eax, 9
je 0x481722
cmp eax, 5
je 0x481722
cmp eax, 8
je 0x481722
xor eax, eax
jmp 0x481727
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x484621
inc edx
cmp edx, edi
jle 0x4816af
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481796
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x481796
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor eax, eax
cmp dword [ecx*4 + 0x4b46b0], ebx
sete al
cmp eax, dword [esp + 0x2c]
je case.0x47dd1d.150
inc edx
cmp edx, edi
jle 0x481756
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x485214
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481831
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x481831
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor eax, eax
cmp ecx, ebx
sete al
cmp eax, dword [esp + 0x2c]
je 0x484621
inc edx
cmp edx, edi
jle 0x4817f1
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4818c7
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x4818c7
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a8]
xor eax, eax
cmp ecx, ebx
sete al
cmp eax, dword [esp + 0x2c]
je case.0x47dd1d.150
inc edx
cmp edx, edi
jle 0x481887
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x485214
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481959
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481959
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [ecx*4 + 0x4b46b0]
cmp eax, 1
je 0x481992
cmp eax, 3
je 0x481992
xor eax, eax
jmp 0x481997
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x484621
inc edx
cmp edx, edi
jle 0x48191d
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
lea edi, [edx + 5]
cmp ebp, esi
jae 0x48525c
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481a05
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481a05
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], edi
je 0x481a4c
cmp eax, 9
je 0x481a4c
cmp eax, 0xa
je 0x481a4c
cmp eax, 0xc
je 0x481a4c
cmp eax, 0xd
je 0x481a4c
xor eax, eax
jmp 0x481a51
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4846aa
inc edx
cmp edx, dword [esp + 0x1c]
jle 0x4819c9
mov edi, dword [esp + 0x1c]
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
lea ebx, [edx + 5]
cmp ebp, esi
jae 0x4852a4
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481ac5
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x481ac5
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov edi, eax
and edi, 0x7f
add ecx, edi
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], ebx
je 0x481b11
cmp eax, 9
je 0x481b11
cmp eax, 0xa
je 0x481b11
cmp eax, 0xb
je 0x481b11
cmp eax, 0xc
je 0x481b11
cmp eax, 0xd
je 0x481b11
xor eax, eax
jmp 0x481b16
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47dd1d.150
mov edi, dword [esp + 0x1c]
inc edx
cmp edx, edi
jle 0x481a89
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485214
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481b85
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481b85
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
cmp ecx, 1
je 0x481bc5
cmp ecx, 3
je 0x481bc5
cmp eax, 0x5f
je 0x481bc5
xor eax, eax
jmp 0x481bca
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x484621
inc edx
cmp edx, edi
jle 0x481b49
jmp 0x4823d3
cmp eax, 0x16
jne 0x481d00
lea ebx, [eax - 0x15]
cmp edi, ebx
jl 0x4823d3
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
cmp ebp, esi
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481c3c
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x481c3c
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
je case.0x47dd1d.150
cmp ebp, esi
jae 0x481cf2
jmp 0x481c80
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x481cbc
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x481cbc
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x481cf2
lea ebp, [ebp + edx*2]
cmp ebp, esi
jb 0x481c80
inc ebx
cmp ebx, edi
jle 0x481c00
jmp 0x4823d3
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x47f9e9
jmp dword [eax*4 + 0x486694]
mov esi, 1
cmp edi, esi
jl 0x4823d3
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x485263
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x481d66
mov ecx, dword [esp + 0x174]
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.00487740
add esp, 8
test eax, eax
jne 0x4846aa
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
jmp 0x481d9f
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x6c]
lea edx, [eax + eax]
sub ebx, edx
cmp ebp, ebx
ja 0x481d9f
movzx edx, byte [ecx + 0x2c]
cmp word [ebp], dx
jne 0x481d9f
cmp eax, 1
je 0x4846aa
mov eax, dword [esp + 0x174]
movzx ecx, byte [eax + 0x2d]
cmp word [ebp + 2], cx
je 0x4846aa
mov ecx, eax
movzx eax, word [ebp + 2]
add ebp, 2
mov edx, 0xdc00
cmp ax, dx
jb 0x481dd5
mov edx, 0xdfff
cmp ax, dx
ja 0x481dd5
movzx eax, word [ebp - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x481dd5
mov edx, 0xdbff
cmp ax, dx
ja 0x481dd5
add ebp, 2
inc esi
cmp esi, edi
jle 0x481d27
jmp 0x4823d3
mov ecx, 1
cmp edi, ecx
jl 0x4823d3
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea ebx, [ebx]
cmp ebp, edx
jae 0x4851d3
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x481e3e
mov ebx, 0xdfff
cmp ax, bx
ja 0x481e3e
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x481e3e
mov ebx, 0xdbff
cmp ax, bx
ja 0x481e3e
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x481e00
jmp 0x4823d3
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
lea eax, [edi + edi]
sub edx, eax
cmp ebp, edx
ja 0x484700
add ebp, eax
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481eb9
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481eb9
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xd
ja 0x481eda
je 0x481eca
cmp eax, 0xa
je 0x481f00
add eax, 0xfffffff5
jmp 0x481ee6
cmp ebp, esi
jae 0x481f00
cmp word [ebp], 0xa
jne 0x481f00
add ebp, 2
jmp 0x481f00
cmp eax, 0x85
je 0x481eef
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x47dd1d.150
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x60], 0
jne 0x484330
inc edx
cmp edx, edi
jle 0x481e7d
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481f61
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481f61
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x481f90
je case.0x47dd1d.150
cmp eax, 0xa0
ja 0x481f89
je case.0x47dd1d.150
cmp eax, 9
je case.0x47dd1d.150
cmp eax, 0x20
jmp 0x481fbb
cmp eax, 0x1680
jmp 0x481fbb
cmp eax, 0x205f
ja 0x481fb6
je case.0x47dd1d.150
cmp eax, 0x2000
jb 0x481fc1
cmp eax, 0x200a
jbe case.0x47dd1d.150
cmp eax, 0x202f
jmp 0x481fbb
cmp eax, 0x3000
je case.0x47dd1d.150
inc edx
cmp edx, edi
jle 0x481f25
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485214
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x482022
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482022
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x482045
je 0x482072
cmp eax, 0xa0
ja 0x48203e
je 0x482072
cmp eax, 9
je 0x482072
cmp eax, 0x20
jmp 0x48206c
cmp eax, 0x1680
jmp 0x48206c
cmp eax, 0x205f
ja 0x482067
je 0x482072
cmp eax, 0x2000
jb 0x484621
cmp eax, 0x200a
jbe 0x482072
cmp eax, 0x202f
jmp 0x48206c
cmp eax, 0x3000
jne 0x484621
inc edx
cmp edx, edi
jle 0x481fe6
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4820d3
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4820d3
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x4820ea
je case.0x47dd1d.150
cmp eax, 0xa
jb 0x4820fc
cmp eax, 0xd
jmp 0x4820f6
cmp eax, 0x2028
jb 0x4820fc
cmp eax, 0x2029
jbe case.0x47dd1d.150
inc edx
cmp edx, edi
jle 0x482097
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485214
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x482159
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482159
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x48216a
je 0x482178
add eax, 0xfffffff6
cmp eax, 3
jmp 0x482172
add eax, 0xffffdfd8
cmp eax, 1
ja 0x484621
inc edx
cmp edx, edi
jle 0x48211d
jmp 0x4823d3
mov edx, 1
cmp edi, edx
jl 0x4823d3
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x4845d9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4821d5
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4821d5
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x80
jae 0x4821f0
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x34]
test byte [eax + ebx], 4
jne 0x480119
inc edx
cmp edx, edi
jle 0x482199
jmp 0x4823d3
mov ecx, 1
cmp edi, ecx
jl 0x4823d3
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
cmp ebp, edx
jae 0x4852b0
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x483ffc
mov ebx, dword [esi + 0x34]
mov al, byte [eax + ebx]
add ebp, 2
and al, 4
je 0x483ffc
inc ecx
cmp ecx, edi
jle 0x482211
jmp 0x4823d3
mov ecx, 1
cmp edi, ecx
jl 0x4823d3
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea ecx, [ecx]
cmp ebp, edx
jae 0x4852b0
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x482283
mov ebx, dword [esi + 0x34]
test byte [eax + ebx], 1
jne 0x483ffc
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x4822b9
mov ebx, 0xdfff
cmp ax, bx
ja 0x4822b9
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x4822b9
mov ebx, 0xdbff
cmp ax, bx
ja 0x4822b9
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x482260
jmp 0x4823d3
mov ecx, 1
cmp edi, ecx
jl 0x4823d3
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea ebx, [ebx]
cmp ebp, edx
jae 0x4852b0
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x483ffc
mov ebx, dword [esi + 0x34]
mov al, byte [eax + ebx]
add ebp, 2
and al, 1
je 0x483ffc
inc ecx
cmp ecx, edi
jle 0x4822e0
jmp 0x4823d3
mov ecx, 1
cmp edi, ecx
jl 0x4823d3
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea esp, [esp]
cmp ebp, edx
jae 0x4852b0
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x482353
mov ebx, dword [esi + 0x34]
test byte [eax + ebx], 0x10
jne 0x483ffc
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x482389
mov ebx, 0xdfff
cmp ax, bx
ja 0x482389
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x482389
mov ebx, 0xdbff
cmp ax, bx
ja 0x482389
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x482330
jmp 0x4823d3
mov ecx, 1
cmp edi, ecx
jl 0x4823d3
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
cmp ebp, edx
jae 0x4852b0
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x483ffc
mov ebx, dword [esi + 0x34]
mov al, byte [eax + ebx]
add ebp, 2
and al, 0x10
je 0x483ffc
inc ecx
cmp ecx, edi
jle 0x4823a3
cmp edi, dword [esp + 0x10]
je 0x47dcf0
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x30]
jne 0x4852f1
mov dword [esp + 0x20], ebp
test eax, eax
js 0x482bc2
cmp eax, 8
ja case.default.0x47f9e9
jmp dword [eax*4 + 0x4866d4]
mov edx, edi
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edi, dword [esp + 0x10]
mov ebx, 1
jmp 0x482437
mov ecx, dword [esp + 0x174]
mov eax, ebx
cmp ebp, esi
jae 0x482480
movzx ecx, word [ebp]
add ecx, 0xffff2800
cmp ecx, 0x3ff
ja 0x482466
movzx ecx, word [ebp + 2]
add ecx, 0xffff2400
cmp ecx, 0x3ff
ja 0x482466
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x482adb
add edx, ebx
lea ebp, [ebp + eax*2]
cmp edx, edi
jl 0x482430
jmp 0x482adb
cmp dword [ecx + 0x7c], 0
je 0x482adb
cmp ebp, dword [ecx + 0x78]
jbe 0x482adb
mov dword [ecx + 0x5c], ebx
cmp dword [ecx + 0x7c], ebx
jg 0x484af0
jmp 0x482adb
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x6c]
jmp 0x4824c7
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x482561
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482507
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482507
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx eax, byte [eax*8 + 0x4a59a9]
cmp eax, 9
je 0x48253e
cmp eax, 5
je 0x48253e
cmp eax, 8
je 0x48253e
xor eax, eax
jmp 0x482543
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x4824c0
jmp 0x482adb
cmp dword [eax + 0x7c], 0
je 0x482adb
cmp ebp, dword [eax + 0x78]
jbe 0x482adb
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x4843bf
jmp 0x482adb
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov eax, ecx
jmp 0x4825a8
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, esi
jae 0x482ac4
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4825e8
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4825e8
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
xor eax, eax
cmp ecx, dword [esp + 0x38]
sete al
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x4825a1
jmp 0x482adb
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
mov eax, edx
jmp 0x482667
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, esi
jae 0x482561
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4826a7
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4826a7
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor eax, eax
cmp ecx, dword [esp + 0x38]
sete al
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x482660
jmp 0x482adb
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov eax, ecx
jmp 0x482717
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, esi
jae 0x482ac4
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482757
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482757
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a8]
xor eax, eax
cmp ecx, dword [esp + 0x38]
sete al
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x482710
jmp 0x482adb
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x6c]
jmp 0x4827c7
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x482561
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482807
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482807
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [ecx*4 + 0x4b46b0]
cmp eax, 1
je 0x482840
cmp eax, 3
je 0x482840
xor eax, eax
jmp 0x482845
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x4827c0
jmp 0x482adb
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x6c]
mov eax, edx
jmp 0x482887
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x482ac4
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4828c7
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4828c7
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x48290f
cmp eax, 9
je 0x48290f
cmp eax, 0xa
je 0x48290f
cmp eax, 0xc
je 0x48290f
cmp eax, 0xd
je 0x48290f
xor eax, eax
jmp 0x482914
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x482880
jmp 0x482adb
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x6c]
mov eax, edx
jmp 0x482957
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x482561
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482997
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482997
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x4829e4
cmp eax, 9
je 0x4829e4
cmp eax, 0xa
je 0x4829e4
cmp eax, 0xb
je 0x4829e4
cmp eax, 0xc
je 0x4829e4
cmp eax, 0xd
je 0x4829e4
xor eax, eax
jmp 0x4829e9
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x482950
jmp 0x482adb
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482adb
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x6c]
mov eax, edx
jmp 0x482a28
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x482ac4
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482a68
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482a68
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
cmp ecx, 1
je 0x482aa8
cmp ecx, 3
je 0x482aa8
cmp eax, 0x5f
je 0x482aa8
xor eax, eax
jmp 0x482aad
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482adb
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x482a21
jmp 0x482adb
cmp dword [eax + 0x7c], 0
je 0x482adb
cmp ebp, dword [eax + 0x78]
jbe 0x482adb
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x48523f
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
inc esi
push esi
push eax
mov eax, dword [esp + 0x16c]
push ecx
push edi
push edx
push ebx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x20]
je 0x4846aa
movzx eax, word [ebp]
mov edx, 0xdc00
cmp ax, dx
jb 0x482b83
lea ecx, [ecx]
mov ecx, 0xdfff
cmp ax, cx
ja 0x482b83
movzx eax, word [ebp - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x482b83
mov ecx, 0xdbff
cmp ax, cx
ja 0x482b83
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov edx, 0xdc00
cmp ax, dx
jae 0x482b50
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x16c]
push esi
push eax
mov eax, dword [esp + 0x16c]
push ecx
push edi
push edx
push ebx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x482b30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x14]
cmp eax, 0x16
jne 0x482e1b
mov ebx, edi
cmp edi, dword [esp + 0x10]
jge 0x482d09
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
jmp 0x482bf0
mov edx, 1
cmp ebp, esi
jae 0x482ceb
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482c30
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x482c30
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
je 0x482d09
lea ebp, [ebp + edx*2]
cmp ebp, esi
jae 0x482cde
mov edi, edi
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x482ca8
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x482ca8
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x482cde
lea ebp, [ebp + edx*2]
cmp ebp, esi
jb 0x482c70
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x482bf0
jmp 0x482d09
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x482d09
cmp ebp, dword [eax + 0x78]
jbe 0x482d09
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x4843bf
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov edi, dword [esp + 0x168]
inc esi
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push ecx
push edi
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x4846aa
lea ecx, [ecx]
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x482db3
mov edi, edi
mov edx, 0xdfff
cmp ax, dx
ja 0x482db3
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x482db3
mov edx, 0xdbff
cmp ax, dx
ja 0x482db3
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x482d80
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x482de1
movzx ecx, word [ebp + 2]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x482de1
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x4863ed
sub ebp, 2
jmp 0x482d70
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x47f9e9
jmp dword [eax*4 + 0x4866f8]
cmp dword [esp + 0x10], 0x7fffffff
mov esi, edi
jge 0x482f01
cmp edi, dword [esp + 0x10]
jge 0x4836b1
jmp 0x482e50
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x4830ba
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x482e84
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.00487740
add esp, 8
test eax, eax
jne 0x4836b1
jmp 0x482ebb
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x6c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x482ebb
movzx ecx, byte [ecx + 0x2c]
cmp word [ebp], cx
jne 0x482ebb
cmp eax, 1
je 0x4836b1
mov edx, dword [esp + 0x174]
movzx eax, byte [edx + 0x2d]
cmp word [ebp + 2], ax
je 0x4836b1
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x482ef1
mov edx, 0xdfff
cmp ax, dx
ja 0x482ef1
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x482ef1
mov edx, 0xdbff
cmp ax, dx
ja 0x482ef1
add ebp, 2
inc esi
cmp esi, dword [esp + 0x10]
jl 0x482e50
jmp 0x4836b1
cmp edi, dword [esp + 0x10]
jge 0x4836b1
jmp 0x482f10
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x482fc1
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x482f44
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.00487740
add esp, 8
test eax, eax
jne 0x4836b1
jmp 0x482f7b
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x6c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x482f7b
movzx ecx, byte [ecx + 0x2c]
cmp word [ebp], cx
jne 0x482f7b
cmp eax, 1
je 0x4836b1
mov edx, dword [esp + 0x174]
movzx eax, byte [edx + 0x2d]
cmp word [ebp + 2], ax
je 0x4836b1
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x482fb1
mov edx, 0xdfff
cmp ax, dx
ja 0x482fb1
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x482fb1
mov edx, 0xdbff
cmp ax, dx
ja 0x482fb1
add ebp, 2
inc esi
cmp esi, dword [esp + 0x10]
jl 0x482f10
jmp 0x4836b1
cmp dword [ecx + 0x7c], 0
je 0x4836b1
mov eax, ecx
cmp ebp, dword [eax + 0x78]
jbe 0x4836b1
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jmp 0x4836ab
mov eax, dword [esp + 0x10]
cmp eax, 0x7fffffff
jge 0x483081
mov ecx, edi
cmp edi, eax
jge 0x4836b1
mov edi, dword [esp + 0x174]
mov edx, dword [edi + 0x6c]
mov esi, eax
jmp 0x483010
cmp ebp, edx
jae 0x483054
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x48304a
mov ebx, 0xdfff
cmp ax, bx
ja 0x48304a
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x48304a
mov ebx, 0xdbff
cmp ax, bx
ja 0x48304a
add ebp, 2
inc ecx
cmp ecx, esi
jl 0x483010
jmp 0x4836b1
cmp dword [edi + 0x7c], 0
je 0x4836b1
mov ecx, edi
cmp ebp, dword [ecx + 0x78]
jbe 0x4836b1
mov ecx, 1
mov eax, edi
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x4843bf
jmp 0x4836b1
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
mov ebp, dword [eax + 0x6c]
je 0x4836b1
mov edx, eax
cmp ebp, dword [edx + 0x78]
jmp 0x482fd0
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
mov eax, dword [esp + 0x10]
sub edx, ebp
sub eax, edi
sar edx, 1
cmp eax, edx
jbe 0x4830e5
mov ebp, dword [ecx + 0x6c]
cmp dword [ecx + 0x7c], 0
je 0x4836b1
mov eax, ecx
cmp ebp, dword [eax + 0x78]
jbe 0x4836b1
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x4843bf
jmp 0x4836b1
lea ebp, [ebp + eax*2]
jmp 0x4836b1
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
jmp 0x483110
mov edx, 1
cmp ebp, esi
jae 0x4831b9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483150
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483150
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0xd
jne 0x48316c
add ebp, 2
cmp ebp, esi
jae 0x4836b1
cmp word [ebp], 0xa
jne 0x4831a9
add ebp, 2
jmp 0x4831a9
cmp eax, 0xa
je 0x4831a5
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x60], 0
jne 0x4836b1
cmp eax, 0xb
je 0x4831a5
cmp eax, 0xc
je 0x4831a5
cmp eax, 0x85
je 0x4831a5
cmp eax, 0x2028
je 0x4831a5
cmp eax, 0x2029
jne 0x4836b1
lea ebp, [ebp + edx*2]
inc edi
cmp edi, dword [esp + 0x10]
jl 0x483110
jmp 0x4836b1
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x7c], 0
je 0x4836b1
mov eax, edx
jmp 0x482fcd
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov edi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, edi
jae 0x48329e
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483227
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483227
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x180e
ja 0x48324a
je 0x483273
cmp eax, 0xa0
ja 0x483243
je 0x483273
cmp eax, 9
je 0x483273
cmp eax, 0x20
jmp 0x48326d
cmp eax, 0x1680
jmp 0x48326d
cmp eax, 0x205f
ja 0x483268
je 0x483273
cmp eax, 0x2000
jb 0x48326f
cmp eax, 0x200a
jbe 0x483273
cmp eax, 0x202f
jmp 0x48326d
cmp eax, 0x3000
je 0x483273
xor eax, eax
jmp 0x483278
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0x12
sete cl
cmp eax, ecx
je 0x4836b1
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x4831e7
jmp 0x4836b1
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x7c], 0
je 0x4836b1
mov eax, edx
cmp ebp, dword [eax + 0x78]
jbe 0x4836b1
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x4843bf
jmp 0x4836b1
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov edi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, edi
jae 0x4831b9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483326
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483326
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x85
ja 0x48335d
je 0x483367
cmp eax, 0xa
jb 0x483339
cmp eax, 0xd
jbe 0x483367
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x14], 0x14
sete cl
cmp eax, ecx
je 0x4836b1
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x4832e6
jmp 0x4836b1
add eax, 0xffffdfd8
cmp eax, 1
ja 0x483339
mov eax, 1
jmp 0x48333b
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
jmp 0x483390
mov edx, 1
cmp ebp, esi
jae 0x48329e
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4833d0
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4833d0
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x4833eb
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 4
jne 0x4836b1
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483390
jmp 0x4836b1
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, esi
jae 0x4831b9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483453
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483453
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x4836b1
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 4
je 0x4836b1
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483413
jmp 0x4836b1
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
lea ebx, [ebx]
mov edx, 1
cmp ebp, esi
jae 0x48329e
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4834e0
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4834e0
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x4834fb
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 1
jne 0x4836b1
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x4834a0
jmp 0x4836b1
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, esi
jae 0x4831b9
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483563
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483563
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x4836b1
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 1
je 0x4836b1
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483523
jmp 0x4836b1
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
lea ebx, [ebx]
mov edx, 1
cmp ebp, esi
jae 0x48329e
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4835f0
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4835f0
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x48360b
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 0x10
jne 0x4836b1
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x4835b0
jmp 0x4836b1
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x4836b1
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, esi
jae 0x483693
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x48366f
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x48366f
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x4836b1
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 0x10
je 0x4836b1
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483633
jmp 0x4836b1
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x4836b1
cmp ebp, dword [eax + 0x78]
jbe 0x4836b1
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x48523f
cmp dword [esp + 0x24], 0
jne 0x47dcf0
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov edi, dword [esp + 0x164]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push edi
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x20]
je 0x4846aa
movzx eax, word [ebp]
mov edx, 0xdc00
cmp ax, dx
jb 0x483756
mov ecx, 0xdfff
cmp ax, cx
ja 0x483756
movzx eax, word [ebp - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x483756
mov ecx, 0xdbff
cmp ax, cx
ja 0x483756
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov edx, 0xdc00
cmp ax, dx
jae 0x483723
cmp dword [esp + 0x14], 0x11
jne 0x483774
cmp ebp, dword [esp + 0x20]
jbe 0x483774
cmp word [ebp], 0xa
jne 0x483774
cmp word [ebp - 2], 0xd
jne 0x483774
add ebp, 0xfffffffe
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x16c]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push edi
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x483706
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov al, byte [eax]
cmp al, 0x75
je 0x4841ca
cmp al, 0x74
jne 0x48382b
mov edi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ebx, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
lea edx, [edi + 1]
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push esi
push ebx
push ecx
push edx
add eax, 3
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x4841ea
cmp al, 0x81
jae 0x484236
mov dword [esp + 0x164], ecx
jmp 0x4838a8
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x81
jb 0x48383e
mov dword [esi + 0x8c], 2
mov edi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x168]
lea edx, [edi + 1]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x1c]
push esi
push ecx
push edx
push ebx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 0xfffffc1c
jne 0x48388b
mov ecx, dword [esi + 0xa4]
cmp ecx, dword [esp + 0x14]
jmp 0x48388d
test eax, eax
jne 0x486431
mov edx, dword [esp + 0x14]
cmp byte [edx], 0x7b
je 0x484275
add dword [esp + 0x164], 3
mov ecx, dword [esi]
cmp ecx, dword [esi + 4]
jae 0x48397e
xor eax, eax
jmp 0x47dcb4
mov eax, dword [ebx + 0x80]
cmp eax, dword [esp + 0x170]
jle 0x4838d0
mov dword [esp + 0x170], eax
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
cmp byte [edi + eax + 3], 0x71
lea eax, [edi + eax + 3]
mov dword [esp + 0x164], eax
jne 0x48390b
nop
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x71
je 0x4838f0
mov dword [esp + 0x164], eax
mov edi, dword [esp + 0x164]
cmp dword [esp + 0x28], 0x85
jne 0x483926
mov dword [ebx + 0x8c], 2
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
inc ecx
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push ebx
push eax
push ecx
push edx
lea eax, [edi + 3]
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 0xfffffc20
jne 0x486431
cmp dword [ebx + 0x70], edi
jne 0x486431
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
inc dword [esi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x174]
inc edx
push edx
mov edx, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
movzx edx, byte [eax]
lea esi, [eax + 2]
push esi
push ecx
movzx ecx, byte [edx + 0x4b4588]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 0xfffffc1f
jne 0x483a38
mov edx, dword [edi + 0x70]
mov ecx, esi
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x483a1c
test bl, bl
je 0x483a18
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x483a1c
add ecx, 2
add edx, 2
test bl, bl
jne 0x4839fc
xor ecx, ecx
jmp 0x483a21
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x483a38
mov dword [edi + 0x70], ebp
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0xa0], 0
jne 0x486431
mov dword [edi + 0xa0], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push edi
push ecx
movzx ecx, byte [eax]
push esi
push edx
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x483ac8
cmp eax, 0xfffffc1d
je 0x483ac8
cmp eax, 0xfffffc1e
je 0x483ac8
cmp eax, 0xfffffc1f
je 0x483ac8
cmp eax, 0xfffffc20
jne 0x486431
mov dword [edi + 0xa0], esi
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
inc eax
push eax
mov eax, dword [esp + 0x16c]
push ecx
push edi
push edx
push esi
push eax
mov eax, dword [esp + 0x17c]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x483b3b
cmp eax, 0xfffffc20
jne 0x486431
mov dword [edi + 0xa0], esi
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc eax
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push esi
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x483bad
cmp eax, 0xfffffc20
jne 0x486431
add edi, 2
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push esi
push ecx
movzx ecx, byte [eax]
push edi
push edx
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x483c2a
cmp eax, 0xfffffc1d
je 0x483c2a
cmp eax, 0xfffffc20
jne 0x486431
mov dword [esi + 0x70], ebp
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc eax
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push esi
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x483ca6
cmp eax, 0xfffffc1d
je 0x483ca6
cmp eax, 0xfffffc20
jne 0x486431
add edi, 2
mov dword [esi + 0x70], edi
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ebx, dword [esp + 0x164]
mov esi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push eax
movzx eax, byte [ebx]
push esi
push ecx
movzx ecx, byte [eax + 0x4b4588]
push edi
push edx
add ecx, ebx
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
sub ebx, edx
mov dword [esi + 0x70], ebx
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
inc ecx
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push esi
push eax
movzx eax, byte [edi]
push ecx
movzx ecx, byte [eax + 0x4b4588]
push edx
movzx edx, byte [edi + 3]
add ecx, edi
add edx, ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov edx, edi
sub edx, eax
add edi, 4
mov dword [esi + 0x70], edx
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 4]
mov esi, dword [esp + 0x174]
shl eax, 8
or eax, ecx
lea edi, [eax + eax]
mov dword [esp + 0x24], eax
cmp edi, dword [esi + 0x14]
jge 0x483f3e
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edi*4]
mov ecx, dword [eax + edi*4 + 4]
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x10]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [esi + 0x84]
mov dword [esp + 0x10], ecx
mov ecx, ebp
sub ecx, dword [esi + 0x68]
mov dword [esp + 0x1c], edx
sar ecx, 1
mov dword [eax], ecx
inc ebx
cmp dword [esp + 0x28], 0x81
jl 0x483e39
mov dword [esi + 0x8c], 2
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push ebx
push edx
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x174]
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
cmp eax, 0xfffffc1c
je 0x483ed7
test eax, eax
je 0x483ea0
cmp eax, 0xfffffc20
jne 0x486431
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486431
jmp 0x483ea7
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x84], edx
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x164]
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x483e25
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x30]
mov dword [edx + edi*4], ecx
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x34]
mov dword [edx + edi*4 + 4], ecx
mov edx, dword [esi + 0x10]
sub edx, dword [esp + 0x24]
mov ecx, dword [esi + 0xc]
mov edi, dword [esp + 0x10]
mov dword [ecx + edx*4], edi
cmp eax, 0xfffffc20
je 0x483f1a
cmp dword [esi + 0xa0], 0
jne 0x483f1a
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
xor ecx, ecx
cmp eax, 0xfffffc1c
setne cl
lea eax, [ecx - 1]
and eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x170]
inc edi
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
cmp eax, 0x81
jge 0x483f60
cmp eax, 0x7b
jne 0x483f6a
mov dword [esi + 0x8c], 2
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
push edi
push edx
push esi
push ebx
push eax
mov eax, dword [esp + 0x178]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x4b4588]
add ecx, eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x483fbf
cmp eax, 0xfffffc20
jne 0x484016
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486431
jmp 0x483fc6
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x164]
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x483f50
cmp eax, 0xfffffc20
je 0x484009
cmp dword [esi + 0xa0], 0
jne 0x484009
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp eax, 0xfffffc1c
jne 0x486431
mov ecx, dword [esp + 0x164]
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x484057
cmp dl, 0x71
jne 0x484048
movzx edx, byte [ecx + 1]
movzx edi, byte [ecx + 2]
shl edx, 8
or edx, edi
add ecx, edx
cmp byte [ecx], 0x71
je 0x484034
movzx edx, byte [ecx + 1]
movzx edi, byte [ecx + 2]
shl edx, 8
or edx, edi
sub ecx, edx
cmp dword [esi + 0xa4], ecx
jne 0x486431
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x168]
cmp ebp, ecx
jne 0x4840c6
cmp ebx, 0x98
je 0x4840c6
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x98], edx
jne 0x4840cd
cmp dword [eax + 0x54], edx
jne 0x4840ac
cmp dword [eax + 0x58], edx
je 0x4840cd
mov edx, dword [eax + 0x88]
mov esi, dword [eax + 0x68]
lea edx, [esi + edx*2]
cmp ecx, edx
jne 0x4840cd
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov dword [eax + 0x74], ebp
mov dword [eax + 0x80], edx
mov dword [eax + 0x70], ecx
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, ebx
neg eax
sbb eax, eax
and eax, 0xfffffc18
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esi + 0xa0], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esi + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xe0]
cmp eax, ecx
je 0x484163
push eax
call dword [0x4be35c]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x44]
mov dword [edi + 0x98], edx
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xe0]
cmp eax, ecx
je 0x484193
push eax
call dword [0x4be35c]
add esp, 4
mov edx, dword [esp + 0x16c]
mov dword [edi + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x168]
mov dword [esi + 0x74], ebp
mov dword [esi + 0x70], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x170]
mov dword [esi + 0x74], ebp
mov dword [esi + 0x80], ecx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc edi
push edi
push edx
mov edx, dword [esp + 0x1c]
push esi
push ebx
push eax
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov eax, dword [esp + 0x14]
mov dword [esi + 0xa4], eax
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
inc edi
push edi
push ecx
mov ecx, dword [esp + 0x1c]
push esi
push ebx
push edx
push eax
push ecx
push ebp
mov dword [esi + 0x8c], 2
call fcn.0047dc80
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
inc edi
push edi
push edx
mov edx, dword [esp + 0x16c]
push esi
push eax
push ecx
push ebx
add edx, 3
jmp 0x48420a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push esi
push ecx
mov ecx, dword [esp + 0x178]
push edx
push ecx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov dword [esi + 0xa4], edi
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x168]
mov dword [eax + 0x74], ebp
mov dword [eax + 0x80], edx
mov edx, dword [esp + 0x16c]
mov dword [eax + 0x70], ecx
mov dword [eax + 0xa0], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x16c]
mov dword [eax + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x16c]
mov dword [ebx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], edx
je 0x483ffc
cmp ebp, dword [esi + 0x78]
jbe 0x483ffc
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x483ffc
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [eax + 0x7c], edx
je 0x484330
cmp ebp, dword [eax + 0x78]
jbe 0x484330
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x484330
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x47f482
cmp ebp, dword [edx + 0x78]
jbe 0x47f482
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x47f482
mov eax, dword [esp + 0x16c]
mov dword [edx + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x47f410
cmp ebp, dword [edx + 0x78]
jbe 0x47f410
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x47f410
mov ecx, dword [esp + 0x16c]
mov dword [edx + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], 0
je 0x483ffc
cmp ebp, dword [esi + 0x78]
jbe 0x483ffc
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x483ffc
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esp + 0x20], ebp
cmp edi, eax
jge 0x484505
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ecx
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047daf0
add esp, 8
test eax, eax
js 0x4844de
inc edi
lea ebp, [ebp + eax*2]
cmp edi, dword [esp + 0x10]
jl 0x4844b7
jmp 0x4844ff
cmp dword [ebx + 0x7c], 0
je 0x4844ff
cmp ebp, dword [ebx + 0x6c]
jb 0x4844ff
cmp ebp, dword [ebx + 0x78]
jbe 0x4844ff
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jg 0x4845bc
cmp ebp, dword [esp + 0x20]
jb 0x484575
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x16c]
inc esi
jmp 0x484520
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
push esi
push eax
mov eax, dword [esp + 0x16c]
push ebx
push ecx
push edi
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov ecx, dword [esp + 0x14]
neg ecx
lea ebp, [ebp + ecx*2]
cmp ebp, dword [esp + 0x20]
jae 0x484520
mov dword [ebx + 0xa0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edi, dword [esp + 0x16c]
mov dword [ebx + 0xa0], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ebx + 0x7c], 0
je 0x48434a
cmp ebp, dword [ebx + 0x6c]
jb 0x48434a
cmp ebp, dword [ebx + 0x78]
jbe 0x48434a
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle 0x48434a
mov edx, dword [esp + 0x16c]
mov dword [ebx + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x484330
cmp ebp, dword [eax + 0x78]
jbe 0x484330
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x484330
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x16c]
mov dword [eax + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x4846aa
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
push edi
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
inc ebx
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x4800b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x174]
mov dword [edx + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ecx + 0x7c], 0
je 0x484700
cmp ebp, dword [ecx + 0x78]
jbe 0x484700
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x484700
mov eax, dword [esp + 0x16c]
mov dword [ecx + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x16c]
mov dword [ecx + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esp + 0x20], ebp
mov edx, edi
cmp edi, esi
jge 0x4847cd
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
mov edi, 1
cmp ebp, dword [esp + 0x18]
jae 0x4847af
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x484778
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
mov ebx, dword [esp + 0x28]
ja 0x484778
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edi, 2
cmp eax, 0xff
jbe 0x484786
cmp ebx, 0x6a
je 0x4847cd
jmp 0x4847a4
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x4847cd
mov ebx, dword [esp + 0x28]
inc edx
lea ebp, [ebp + edi*2]
cmp edx, esi
jl 0x484736
jmp 0x4847cd
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x4847cd
cmp ebp, dword [eax + 0x78]
jbe 0x4847cd
mov dword [eax + 0x5c], edi
cmp dword [eax + 0x7c], edi
jg 0x4843bf
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc esi
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push edi
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x480dad
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x484867
mov edx, 0xdfff
cmp ax, dx
ja 0x484867
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x484867
mov edx, 0xdbff
cmp ax, dx
ja 0x484867
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x484834
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x168]
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push edi
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x484817
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x484330
cmp ebp, dword [eax + 0x78]
jbe 0x484330
mov dword [eax + 0x5c], 1
cmp dword [eax + 0x7c], 1
jle 0x484330
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esp + 0x20], ebp
cmp edi, esi
jge 0x484988
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
jmp 0x484917
mov eax, dword [esp + 0x174]
mov edi, 1
cmp ebp, dword [esp + 0x18]
jae 0x484971
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x484955
movzx ecx, word [ebp + 2]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x484955
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edi, 2
push eax
mov eax, dword [esp + 0x18]
call fcn.004879b0
add esp, 4
test eax, eax
je 0x484988
inc ebx
lea ebp, [ebp + edi*2]
cmp ebx, esi
jl 0x484910
jmp 0x484988
cmp dword [eax + 0x7c], 0
je 0x484988
cmp ebp, dword [eax + 0x78]
jbe 0x484988
mov dword [eax + 0x5c], edi
cmp dword [eax + 0x7c], edi
jg 0x4843bf
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
push ecx
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x484a62
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x484a23
nop
mov edx, 0xdfff
cmp ax, dx
ja 0x484a23
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x484a23
mov edx, 0xdbff
cmp ax, dx
ja 0x484a23
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x4849f0
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
push ecx
push edx
push ebx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x4849d2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x16c]
mov dword [edi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], edx
je 0x47f6eb
cmp ebp, dword [esi + 0x78]
jbe 0x47f6eb
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47f6eb
mov ecx, dword [esp + 0x16c]
mov dword [esi + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x7c], 0
je 0x480119
cmp ebp, dword [ecx + 0x6c]
jb 0x480119
cmp ebp, dword [ecx + 0x78]
jbe 0x480119
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x480119
mov edx, dword [esp + 0x16c]
mov dword [ecx + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc eax
push eax
push ecx
mov ecx, dword [esp + 0x170]
push ebx
push edx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x17c]
push eax
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x18], eax
jge 0x47ee9a
mov edx, dword [esp + 0x14]
mov esi, dword [ebx + 0x6c]
add edx, edx
mov ecx, esi
sub ecx, edx
cmp ebp, ecx
ja 0x484be4
mov eax, dword [esp + 0x14]
add eax, eax
lea ecx, [esp + 0x40]
mov edi, ebp
cmp eax, 4
jb 0x484bab
jmp 0x484b90
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x484bdd
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x484b90
mov ebx, dword [esp + 0x174]
test eax, eax
je 0x484bd6
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x484bdd
cmp eax, 1
jbe 0x484bcf
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x484bdd
cmp eax, 2
jbe 0x484bcf
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x484bdd
mov ebx, dword [esp + 0x174]
add ebp, edx
jmp 0x484c60
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x48458f
lea eax, [ecx + ecx]
sub esi, eax
cmp ebp, esi
ja 0x48458f
lea eax, [ecx + ecx]
lea ecx, [esp + 0x98]
mov edi, ebp
cmp eax, 4
jb 0x484c28
mov edi, edi
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x48458f
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x484c10
test eax, eax
je 0x484c58
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x48458f
cmp eax, 1
jbe 0x484c58
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x48458f
cmp eax, 2
jbe 0x484c58
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x48458f
mov eax, dword [esp + 0x28]
lea ebp, [ebp + eax*2]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
inc dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push ebx
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x484b5b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x1c]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
cmp ebx, dword [esp + 0x10]
jge 0x484193
cmp ebp, dword [edi + 0x6c]
jae 0x484da6
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x484d43
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x484d43
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xff
ja 0x484193
mov ecx, dword [edi + 0x30]
movzx edx, byte [eax + ecx]
cmp dword [esp + 0x14], edx
jne 0x484193
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push esi
push eax
mov eax, dword [esp + 0x170]
push edi
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
inc ebx
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x484cfc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0x7c], 0
je 0x484ddb
cmp ebp, dword [edi + 0x78]
jbe 0x484ddb
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x484ddb
mov eax, dword [esp + 0x16c]
mov dword [edi + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x16c]
mov dword [edi + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x47f410
cmp ebp, dword [edx + 0x78]
jbe 0x47f410
mov dword [edx + 0x5c], 1
cmp dword [edx + 0x7c], 1
jle 0x47f410
mov ecx, dword [esp + 0x16c]
mov dword [edx + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push edi
push ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x17c]
push edx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x18], edx
jge 0x484a62
cmp ebp, dword [edi + 0x6c]
jae 0x484ef0
movzx eax, word [ebp]
add ebp, 2
cmp ebx, eax
mov eax, dword [esp + 0x16c]
jne 0x484a69
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
inc dword [esp + 0x18]
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x484e88
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0x7c], 0
je 0x484193
cmp ebp, dword [edi + 0x78]
jbe 0x484193
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x484193
mov ecx, dword [esp + 0x16c]
mov dword [edi + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], 0
je 0x483ffc
cmp ebp, dword [esi + 0x78]
jbe 0x483ffc
mov dword [esi + 0x5c], 1
cmp dword [esi + 0x7c], 1
jle 0x483ffc
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc esi
push esi
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
lea esp, [esp]
mov ecx, dword [esp + 0x174]
cmp ebx, edi
jge 0x480119
cmp ebp, dword [ecx + 0x6c]
jae 0x485263
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485013
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48500c
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
cmp eax, 0x100
jae 0x485021
mov edx, dword [ecx + 0x30]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
je 0x484700
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
inc ebx
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x484fc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov ebx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push ebx
push eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x17c]
push ecx
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
cmp dword [esp + 0x18], edi
jge 0x48515e
cmp ebp, dword [ebx + 0x6c]
jae 0x485178
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48510e
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48510e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov edx, dword [esp + 0x16c]
cmp dword [esp + 0x14], eax
je 0x485165
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
inc dword [esp + 0x18]
push esi
push eax
mov eax, dword [esp + 0x170]
push ebx
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x4850c7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x16c]
mov dword [ebx + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ebx + 0x7c], 0
je 0x47ee9a
cmp ebp, dword [ebx + 0x78]
jbe 0x47ee9a
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle 0x47ee9a
mov eax, dword [esp + 0x16c]
mov dword [ebx + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov dword [eax + 0xa0], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], 0
je 0x47effa
cmp ebp, dword [esi + 0x78]
jbe 0x47effa
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47effa
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x4840ac
cmp ebp, dword [eax + 0x78]
jbe 0x4840ac
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x4840ac
mov edx, dword [esp + 0x16c]
mov dword [eax + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x7c], 0
je 0x480119
cmp ebp, dword [ecx + 0x78]
jbe 0x480119
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x480119
mov edx, dword [esp + 0x16c]
mov dword [ecx + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
jmp 0x4846cb
cmp dword [esi + 0x7c], 0
je 0x47f6eb
cmp ebp, dword [esi + 0x78]
jbe 0x47f6eb
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47f6eb
mov ecx, dword [esp + 0x16c]
mov dword [esi + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
test eax, eax
js 0x485e04
cmp eax, 8
ja case.default.0x47f9e9
jmp dword [eax*4 + 0x486738]
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
jmp 0x485360
cmp edi, dword [esp + 0x10]
jge 0x480ebd
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x4853e3
movzx eax, word [ebp]
add eax, 0xffff2800
add ebp, 2
cmp eax, 0x3ff
ja 0x48539c
movzx eax, word [ebp]
add eax, 0xffff2400
cmp eax, 0x3ff
ja 0x48539c
add ebp, 2
cmp dword [esp + 0x2c], 0
jne 0x4856ce
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485360
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ecx + 0x7c], 0
je 0x4856ce
cmp ebp, dword [ecx + 0x78]
jbe 0x4856ce
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x4856ce
mov dword [ecx + 0xa0], ebx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
jmp 0x485470
cmp edi, dword [esp + 0x10]
jge 0x485552
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x4853e3
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x4854c5
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x4854be
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx eax, byte [eax*8 + 0x4a59a9]
cmp eax, 9
je 0x4854fc
cmp eax, 5
je 0x4854fc
cmp eax, 8
je 0x4854fc
xor eax, eax
jmp 0x485501
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4856ce
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485470
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov dword [eax + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
lea ebx, [ebx]
mov eax, dword [esp + 0x174]
cmp edi, dword [esp + 0x10]
jge 0x485559
cmp ebp, dword [eax + 0x6c]
jae 0x48568f
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48560a
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48560a
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [esp + 0x38]
xor edx, edx
cmp dword [ecx*4 + 0x4b46b0], eax
sete dl
cmp edx, dword [esp + 0x2c]
je 0x4856c7
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x4855c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [eax + 0x7c], 0
je 0x485559
cmp ebp, dword [eax + 0x78]
jbe 0x485559
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x485559
mov dword [eax + 0xa0], ebx
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
nop
cmp edi, dword [esp + 0x10]
jge 0x480ebd
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x48568f
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48577e
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48577e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je 0x485552
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485730
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
lea ebx, [ebx]
cmp edi, dword [esp + 0x10]
jge 0x480ebd
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x48568f
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48589e
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48589e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a8]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je 0x485552
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485850
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
lea ebx, [ebx]
cmp edi, dword [esp + 0x10]
jge 0x480ebd
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x4853e3
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x4859c5
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x4859be
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx edx, byte [eax*8 + 0x4a59a9]
mov eax, dword [edx*4 + 0x4b46b0]
cmp eax, 1
je 0x4859fe
cmp eax, 3
je 0x4859fe
xor eax, eax
jmp 0x485a03
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4856ce
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485970
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
cmp edi, dword [esp + 0x10]
jge 0x4856c7
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x48568f
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485af0
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x485af0
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4a8c88]
movzx ecx, byte [edx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x485b38
cmp eax, 9
je 0x485b38
cmp eax, 0xa
je 0x485b38
cmp eax, 0xc
je 0x485b38
cmp eax, 0xd
je 0x485b38
xor eax, eax
jmp 0x485b3d
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x480ebd
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485aa2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
lea esp, [esp]
cmp edi, dword [esp + 0x10]
jge 0x4856c7
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x48568f
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485c2e
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x485c2e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4a8c88]
movzx ecx, byte [edx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x485c7b
cmp eax, 9
je 0x485c7b
cmp eax, 0xa
je 0x485c7b
cmp eax, 0xb
je 0x485c7b
cmp eax, 0xc
je 0x485c7b
cmp eax, 0xd
je 0x485c7b
xor eax, eax
jmp 0x485c80
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x480ebd
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485be0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
nop
cmp edi, dword [esp + 0x10]
jge 0x4856c7
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x48568f
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485d6e
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x485d6e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4a8c88]
movzx ecx, byte [edx*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
cmp ecx, 1
je 0x485dae
cmp ecx, 3
je 0x485dae
cmp eax, 0x5f
je 0x485dae
xor eax, eax
jmp 0x485db3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x480ebd
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485d20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esp + 0x14], 0x16
jne 0x485fe8
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
cmp edi, dword [esp + 0x10]
jge 0x4856c7
mov edx, dword [esp + 0x174]
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x18], eax
cmp ebp, eax
jae 0x485fae
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x485eb1
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x485eb1
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
je 0x47f410
cmp ebp, dword [esp + 0x18]
jae 0x485f60
lea ecx, [ecx]
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x485f28
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x485f28
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x485f60
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x18]
jb 0x485ef0
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x485e5d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x480ec4
cmp ebp, dword [edx + 0x78]
jbe 0x480ec4
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x480ec4
mov dword [edx + 0xa0], ebx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ebx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
inc ebx
push ebx
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push esi
push ecx
push edx
push ebp
mov dword [esp + 0x38], edi
call fcn.0047dc80
add esp, 0x20
test eax, eax
jne 0x486431
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jge 0x486163
cmp ebp, dword [edi + 0x6c]
jae 0x486399
cmp dword [esp + 0x14], 0xc
jne 0x4860c6
mov eax, dword [edi + 0x18]
test eax, eax
je 0x48608d
mov ecx, dword [esp + 0x174]
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.00487740
add esp, 8
test eax, eax
jne 0x4863d3
mov edi, dword [esp + 0x174]
jmp 0x4860c6
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x6c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x4860c6
movzx ecx, byte [edi + 0x2c]
cmp word [ebp], cx
jne 0x4860c6
cmp eax, 1
je 0x4863d3
mov edx, dword [esp + 0x174]
movzx eax, byte [edx + 0x2d]
cmp word [ebp + 2], ax
je 0x4863d3
mov edi, edx
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4860fa
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x4860fa
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x47f9e9
jmp dword [ecx*4 + 0x48675c]
cmp eax, 0xd
ja 0x486144
je 0x486128
cmp eax, 0xa
je case.0x48610a.12
jbe 0x486163
cmp eax, 0xc
jmp 0x486157
cmp ebp, dword [edi + 0x6c]
jae case.0x48610a.12
cmp word [ebp], 0xa
jne case.0x48610a.12
add ebp, 2
jmp case.0x48610a.12
cmp eax, 0x85
je 0x486159
cmp eax, 0x2027
jbe 0x486163
cmp eax, 0x2029
ja 0x486163
cmp dword [edi + 0x60], 0
je case.0x48610a.12
mov dword [edi + 0xa0], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp eax, 0x180e
ja 0x48619f
je 0x486163
cmp eax, 0xa0
ja 0x486195
je 0x486163
cmp eax, 9
je 0x486163
cmp eax, 0x20
jmp 0x486350
cmp eax, 0x1680
jmp 0x486350
cmp eax, 0x205f
ja 0x4861c4
je 0x486163
cmp eax, 0x2000
jb case.0x48610a.12
cmp eax, 0x200a
jbe 0x486163
cmp eax, 0x202f
jmp 0x486350
cmp eax, 0x3000
jmp 0x486350
cmp eax, 0x180e
ja 0x48620f
je case.0x48610a.12
cmp eax, 0xa0
ja 0x4861ff
je case.0x48610a.12
cmp eax, 9
je case.0x48610a.12
cmp eax, 0x20
jne 0x486163
jmp case.0x48610a.12
cmp eax, 0x1680
jne 0x486163
jmp case.0x48610a.12
cmp eax, 0x205f
ja 0x486242
je case.0x48610a.12
cmp eax, 0x2000
jb 0x486163
cmp eax, 0x200a
jbe case.0x48610a.12
cmp eax, 0x202f
jne 0x486163
jmp case.0x48610a.12
cmp eax, 0x3000
jne 0x486163
jmp case.0x48610a.12
cmp eax, 0x85
ja 0x486276
je 0x486163
cmp eax, 0xa
jb case.0x48610a.12
cmp eax, 0xd
jbe 0x486163
jmp case.0x48610a.12
cmp eax, 0x2028
jb case.0x48610a.12
cmp eax, 0x2029
jbe 0x486163
jmp case.0x48610a.12
cmp eax, 0x85
ja 0x4862b5
je case.0x48610a.12
cmp eax, 0xa
jb 0x486163
cmp eax, 0xd
ja 0x486163
jmp case.0x48610a.12
cmp eax, 0x2028
jb 0x486163
cmp eax, 0x2029
ja 0x486163
jmp case.0x48610a.12
cmp eax, 0x100
jae case.0x48610a.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x486163
jmp case.0x48610a.12
cmp eax, 0x100
jae 0x486163
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
jmp 0x486350
cmp eax, 0x100
jae case.0x48610a.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x486163
jmp case.0x48610a.12
cmp eax, 0x100
jae 0x486163
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
jmp 0x486350
cmp eax, 0x100
jae case.0x48610a.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x486163
jmp case.0x48610a.12
cmp eax, 0x100
jae 0x486163
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x486163
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
inc dword [esp + 0x18]
push ebx
push eax
mov eax, dword [esp + 0x16c]
push edi
push ecx
push esi
push edx
push eax
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x48603d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0x7c], 0
je 0x486163
cmp ebp, dword [edi + 0x78]
jbe 0x486163
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x486163
mov dword [edi + 0xa0], esi
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0xa0], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push ecx
push edi
push edx
push ebp
call fcn.0047dc80
add esp, 0x20
test eax, eax
je 0x482d5e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret