Function at 0x485ce0
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x114
movsd xmm2, qword [0x4d4718]
mov eax, edx
mov dword [esp + 0xd4], eax
push ebx
mov ebx, dword [ecx]
mov edx, dword [eax]
mov eax, dword [esp + 0x11c]
push ebp
push esi
push edi
mov edi, dword [eax]
xor esi, esi
mov eax, ebx
mov dword [esp + 0xd8], ecx
shr eax, 9
xor ecx, ecx
and eax, 1
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xb4], eax
xor ebp, ebp
xor eax, 1
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0xb8], eax
mov eax, ebx
and eax, 1
mov dword [esp + 0x54], 0
shl eax, 0x1c
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x50], 0xfffffffe
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x3c], 0xfffffffe
mov dword [esp + 0x74], eax
mov dword [esp + 0xbc], 0xff
movsd qword [esp + 0xe8], xmm2
mov dword [esp + 0x10], edi
movzx esi, word [edi]
test esi, esi
jne 0x485de1
mov eax, dword [esp + 0x68]
test eax, eax
je 0x485de1
mov edi, eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x10], edi
movzx esi, word [edi]
mov ebx, dword [esp + 0x140]
mov ecx, dword [ecx + 0x34]
mov eax, dword [ebx + 0x10]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x144]
add eax, 0xffffff38
test ecx, ecx
je 0x485ec7
cmp edx, eax
ja 0x48a3ad
mov eax, dword [esp + 0xa0]
cmp edx, eax
cmovae eax, edx
mov ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x144]
sub ecx, dword [esp + 0xa0]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x48a38a
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x144]
mov dword [ecx], eax
test ebp, ebp
je 0x485ea6
cmp ebp, dword [esp + 0xac]
jbe 0x485eba
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0xac]
sub eax, ebp
and eax, 0xfffffffe
push eax
push ebp
push edi
call fcn.00498760
mov edx, dword [esp + 0x20]
sub ebp, edi
movsd xmm2, qword [esp + 0xf4]
and ebp, 0xfffffffe
mov ecx, dword [esp + 0x150]
add esp, 0xc
sub edx, ebp
mov ebp, edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0xa0], edx
jmp 0x485ed0
mov edx, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov dword [esp + 0xa0], edx
jmp 0x485ed0
mov edx, dword [esp + 0x14]
mov dword [esp + 0xa0], edx
jmp 0x485ed0
cmp dword [ebx + 0x24], eax
ja 0x48a3ad
cmp dword [esp + 0x64], 0
je 0x486025
test esi, esi
je 0x486025
cmp esi, 0x5c
jne 0x485f0d
cmp word [edi + 2], 0x45
jne 0x485f0d
movsd xmm2, qword [esp + 0xe8]
add edi, 2
mov dword [esp + 0x64], 0
mov ecx, ebx
add edi, 2
jmp 0x485dc1
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x485f30
test ecx, ecx
jne 0x485f2a
sub edi, dword [ebx + 0x18]
sar edi, 1
sub di, word [eax + 8]
mov word [eax + 0xa], di
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x6c], ecx
test dword [esp + 0x38], 0x4000
je case.0x486201.1
mov eax, 0x70
mov dword [edx + 4], 0
mov word [edx], ax
mov ecx, 0xff
lea eax, [edx + 2]
mov dword [esp + 0x6c], edx
mov word [eax], cx
xor ecx, ecx
sub edi, dword [ebx + 0x18]
sar edi, 1
mov word [eax + 6], di
mov word [eax + 8], cx
add eax, 0xa
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov bx, si
mov edx, 1
and esi, 0xfc00
mov word [esp + 0xc0], bx
cmp esi, 0xd800
jne 0x485fbd
mov ax, word [edi + 2]
add edi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x485fbd
mov dword [esp + 0x10], edi
mov ax, word [edi]
mov word [esp + 0xc2], ax
mov edx, 2
mov ecx, dword [esp + 0x14]
mov eax, 0
test byte [esp + 0x38], 1
mov ebp, ecx
mov dword [esp + 0x20], ebp
setne al
add eax, 0x1d
mov word [ecx], ax
mov eax, ecx
add eax, 2
mov dword [esp + 0x14], eax
test edx, edx
je 0x486002
mov ecx, edx
lea esi, [esp + 0xc0]
shr ecx, 1
mov edi, eax
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
lea eax, [eax + edx*2]
rep movsw word es:[edi], word [esi]
mov dword [esp + 0x14], eax
cmp bx, 0xd
je 0x486012
cmp bx, 0xa
jne 0x489d4d
mov ecx, dword [esp + 0x140]
or dword [ecx + 0x50], 0x800
jmp 0x489d54
cmp esi, 0x2a
je 0x486086
cmp esi, 0x2b
je 0x486086
cmp esi, 0x3f
je 0x486086
cmp esi, 0x7b
jne 0x486045
lea ecx, [edi + 2]
call fcn.00483670
test eax, eax
jne 0x486086
mov ecx, dword [esp + 0x6c]
xor ebp, ebp
test ecx, ecx
je 0x48608b
mov edx, dword [esp + 0xb0]
mov eax, edx
dec edx
mov dword [esp + 0xb0], edx
test eax, eax
jg 0x48608b
cmp dword [esp + 0x144], ebp
jne 0x48607e
sub edi, dword [ebx + 0x18]
sar edi, 1
sub di, word [ecx + 8]
mov word [ecx + 0xa], di
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x6c], ecx
jmp 0x48608b
mov ebp, 1
mov ebx, dword [esp + 0x38]
test bl, 8
je 0x486127
mov ecx, dword [esp + 0x140]
mov eax, 0xff
cmp word [edi], ax
ja 0x4860b6
mov eax, dword [ecx + 0xc]
test byte [esi + eax], 1
jne 0x489e61
cmp esi, 0x23
jne 0x486127
add edi, 2
mov dword [esp + 0x10], edi
movzx eax, word [edi]
test ax, ax
je 0x486125
mov ebx, edi
mov edx, dword [ecx + 0x60]
mov esi, eax
mov ecx, dword [ecx + 0x1c]
test edx, edx
je 0x48616f
cmp ebx, ecx
jae 0x4861a8
mov esi, dword [esp + 0x140]
push 1
add esi, 0x64
push esi
push ecx
mov ecx, edi
call fcn.004955e0
mov ecx, dword [esp + 0x14c]
add esp, 0xc
test eax, eax
je 0x4861af
mov edx, dword [esi]
lea edi, [edx - 1]
lea edi, [ebx + edi*2]
mov dword [esp + 0x10], edi
cmp word [edi], 0
jne 0x489e61
mov ebx, dword [esp + 0x38]
xor esi, esi
mov ecx, dword [esp + 0x140]
test ebx, 0x4000
je 0x4861e7
test ebp, ebp
jne 0x4861e7
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [eax], 0xff0070
mov dword [eax + 4], ebp
sub edi, dword [ecx + 0x18]
sar edi, 1
xor edx, edx
mov word [eax + 0xa], dx
lea edx, [eax + 0xc]
mov word [eax + 8], di
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp 0x4861eb
mov eax, dword [esp + 0x140]
mov edx, dword [eax + 0x64]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
mov ecx, dword [esp + 0x140]
ja 0x4861af
cmp si, word [ecx + 0x68]
jne 0x4861af
cmp edx, 1
je 0x48610d
mov ax, word [edi + 2]
cmp ax, word [ecx + 0x6a]
je 0x48610d
jmp 0x4861af
mov ecx, dword [esp + 0x140]
lea edi, [ebx + 2]
mov edx, 0xfc00
mov dword [esp + 0x10], edi
mov ebx, edi
mov ax, word [edi]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4861d6
lea ebx, [edi + 2]
mov edi, ebx
mov dword [esp + 0x10], edi
movzx eax, word [edi]
test ax, ax
je 0x486121
jmp 0x4860cc
mov edx, dword [esp + 0x14]
mov ebx, edx
mov dword [esp + 0x5c], ebx
cmp esi, 0x7c
ja case.0x486201.1
movzx eax, byte [esi + 0x48a404]
jmp dword [eax*4 + 0x48a3d0]
xor ebp, ebp
test byte [esp + 0x38], 2
mov dword [esp + 0x20], ebp
je 0x486253
mov eax, dword [esp + 0x3c]
mov ecx, 0xffffffff
movsd xmm2, qword [esp + 0xe8]
cmp eax, 0xfffffffe
cmove eax, ecx
mov ecx, 0x1a
mov word [edx], cx
add edx, 2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
add edi, 2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], edx
jmp 0x485dc1
movsd xmm2, qword [esp + 0xe8]
mov ecx, 0x19
mov word [edx], cx
add edx, 2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
add edi, 2
mov dword [esp + 0x14], edx
jmp 0x485dc1
movsd xmm2, qword [esp + 0xe8]
xor ebp, ebp
test byte [esp + 0x38], 2
mov eax, ebp
mov dword [esp + 0x20], ebp
setne al
add eax, 0x1b
mov word [edx], ax
add edx, 2
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
add edi, 2
jmp 0x485dc1
mov esi, dword [esp + 0x3c]
mov eax, 0xffffffff
mov ebx, dword [esp + 0x30]
cmp esi, 0xfffffffe
movsd xmm2, qword [esp + 0xe8]
mov ebp, edx
cmove esi, eax
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x38]
shr eax, 2
and eax, 1
mov dword [esp + 0x3c], esi
or eax, 0xc
mov dword [esp + 0x2c], esi
mov word [edx], ax
add edx, 2
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], ebp
add edi, 2
mov dword [esp + 0x14], edx
jmp 0x485dc1
test dword [ecx + 0x4c], 0x2000000
je case.0x486201.1
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x40
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
movzx eax, word [edi + 2]
mov ebp, edx
mov dword [esp + 0x20], ebp
cmp eax, 0x3a
je 0x48634a
cmp eax, 0x2e
je 0x48634a
cmp eax, 0x3d
jne 0x48635d
lea edx, [esp + 0x70]
mov ecx, edi
call fcn.00484e20
test eax, eax
jne 0x489f26
xor ecx, ecx
mov dword [esp + 0x34], ecx
add edi, 2
mov dword [esp + 0x10], edi
movzx ebx, word [edi]
mov dword [esp + 0x24], ebx
cmp ebx, 0x5c
jne 0x4863af
cmp word [edi + 2], 0x45
lea esi, [edi + 2]
jne 0x486384
mov edi, esi
jmp 0x486363
mov edx, 3
mov ebx, 0x4d4530
nop
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [ebx]
lea ebx, [ebx + 1]
dec edx
cmp cx, ax
jne 0x4863bd
test edx, edx
jne 0x486390
mov ecx, dword [esp + 0x34]
add edi, 6
jmp 0x486363
test ecx, ecx
jne 0x4863c5
cmp ebx, 0x5e
jne 0x4863c5
lea ecx, [ebx - 0x5d]
jmp 0x48635f
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ebx, 0x5d
jne 0x48642a
mov eax, dword [esp + 0x140]
test dword [eax + 0x4c], 0x2000000
je 0x48642a
mov edx, dword [esp + 0x14]
test ecx, ecx
mov esi, dword [esp + 0x3c]
mov ecx, 0xd
movsd xmm2, qword [esp + 0xe8]
mov eax, 0x97
cmovne eax, ecx
mov ecx, dword [esp + 0x140]
mov word [edx], ax
add edx, 2
mov edi, dword [esp + 0x10]
cmp esi, 0xfffffffe
mov eax, 0xffffffff
mov dword [esp + 0x14], edx
cmove esi, eax
add edi, 2
mov dword [esp + 0x3c], esi
mov dword [esp + 0x2c], esi
jmp 0x485dc1
xor edx, edx
xor esi, esi
mov dword [esp + 0x1c], edx
xor ecx, ecx
mov edx, dword [esp + 0x14]
xor ebp, ebp
add edx, 6
mov dword [esp + 0x40], esi
mov dword [esp + 0x18], ecx
xorps xmm0, xmm0
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x60], edx
movups xmmword [esp + 0x7c], xmm0
movups xmmword [esp + 0x8c], xmm0
test ebx, ebx
je 0x489f03
nop dword [eax]
mov eax, ebx
mov dword [esp + 0x48], ecx
and eax, 0xfc00
mov esi, ecx
cmp eax, 0xd800
jne 0x4864be
movzx ebx, word [edi]
mov eax, ebx
mov dword [esp + 0x24], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4864be
movzx eax, word [edi + 2]
add edi, 2
and ebx, 0x3ff
mov dword [esp + 0x10], edi
and eax, 0x3ff
shl ebx, 0xa
or ebx, eax
add ebx, 0x10000
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x144], 0
je 0x4864e3
sub edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x144]
sar edx, 1
add dword [ecx], edx
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
cmp dword [esp + 0x64], 0
je 0x48650e
cmp ebx, 0x5c
jne 0x4867a7
cmp word [edi + 2], 0x45
jne 0x4867a7
mov dword [esp + 0x64], 0
add edi, 2
jmp 0x48693a
cmp ebx, 0x5b
jne 0x486753
movzx esi, word [edi + 2]
cmp esi, 0x3a
je 0x48652e
cmp esi, 0x2e
je 0x48652e
cmp esi, 0x3d
jne 0x4867a7
lea edx, [esp + 0x70]
mov ecx, edi
call fcn.00484e20
test eax, eax
je 0x4867a7
mov dword [esp + 0x24], 0
cmp esi, 0x3a
jne 0x489e7a
add edi, 4
mov dword [esp + 0x10], edi
mov eax, edi
cmp word [edi], 0x5e
jne 0x48657a
add edi, 2
mov dword [esp + 0x24], 1
mov dword [esp + 0x40], 1
mov eax, edi
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x70]
mov ebx, str.alpha
sub ecx, eax
mov dword [esp + 0x48], ebx
sar ecx, 1
mov al, 5
xor edx, edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x50], edx
nop word [eax + eax]
movzx ebp, al
cmp ecx, ebp
jne 0x486625
mov edx, ecx
mov esi, edi
test ecx, ecx
je 0x4865c9
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [ebx]
lea ebx, [ebx + 1]
dec edx
cmp cx, ax
jne 0x486619
test edx, edx
jne 0x4865b3
mov ecx, dword [esp + 0x50]
test ecx, ecx
js 0x48663f
mov eax, dword [esp + 0x38]
test al, 1
je 0x4865e1
xor edx, edx
cmp ecx, 2
cmovle ecx, edx
mov ebx, dword [esp + 0x24]
test eax, 0x20000000
je 0x486662
mov eax, ebx
neg eax
sbb eax, eax
and eax, 0xe
add eax, ecx
mov edi, dword [eax*4 + 0x4b9200]
test edi, edi
je 0x486662
mov ecx, dword [esp + 0x70]
add ecx, 2
add edi, 0xfffffffe
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x18]
jmp 0x486936
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
mov al, byte [edx + 0x4ba175]
inc edx
inc ebx
mov dword [esp + 0x50], edx
add ebx, ebp
mov dword [esp + 0x48], ebx
test al, al
jne 0x4865a0
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1e
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x140]
lea ecx, [ecx + ecx*2]
mov eax, dword [ecx*4 + 0x4b9fb0]
mov edx, dword [esi + 8]
mov esi, dword [ecx*4 + 0x4b9fb8]
movups xmm0, xmmword [eax + edx]
movups xmmword [esp + 0xf4], xmm0
movups xmm0, xmmword [eax + edx + 0x10]
mov eax, dword [ecx*4 + 0x4b9fb4]
movups xmmword [esp + 0x104], xmm0
test eax, eax
js 0x4866d4
add edx, eax
xor ecx, ecx
test esi, esi
js 0x4866c2
nop dword [eax]
mov al, byte [edx + ecx]
or byte [esp + ecx + 0xf4], al
inc ecx
cmp ecx, 0x20
jl 0x4866b0
jmp 0x4866d4
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0xf4], al
inc ecx
cmp ecx, 0x20
jl 0x4866c2
mov eax, esi
neg eax
test esi, esi
cmovns eax, esi
cmp eax, 1
jne 0x4866ec
and byte [esp + 0xf5], 0xc3
jmp 0x4866f9
cmp eax, 2
jne 0x4866f9
and byte [esp + 0xff], 0x7f
xor ecx, ecx
test ebx, ebx
je 0x486720
nop
mov al, byte [esp + ecx + 0xf4]
not al
or byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x486700
jmp 0x486731
mov al, byte [esp + ecx + 0xf4]
or byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x486720
mov edi, dword [esp + 0x70]
mov ecx, 1
mov edx, dword [esp + 0x28]
mov ebp, 2
add edi, 2
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], ebp
jmp 0x48693e
cmp ebx, 0x5c
jne 0x4867a7
mov edi, dword [esp + 0x140]
lea ecx, [esp + 0x10]
mov edx, dword [esp + 0x12c]
push 1
push dword [esp + 0x3c]
push dword [edi + 0x38]
call fcn.00483710
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x24], ebx
cmp dword [eax], 0
jne 0x489ec6
cmp ebx, 0xfffffffb
jne 0x486883
mov ebx, 8
mov dword [esp + 0x24], ebx
mov edi, dword [esp + 0x10]
cmp word [edi + 2], 0x5c
jne 0x4867cd
nop
cmp word [edi + 4], 0x45
jne 0x4867cd
add edi, 4
mov dword [esp + 0x64], 0
mov dword [esp + 0x10], edi
cmp word [edi + 2], 0x5c
je 0x4867b0
mov esi, edi
cmp ebx, 0xd
je 0x4867d9
cmp ebx, 0xa
jne 0x4867e7
mov eax, dword [esp + 0x140]
or dword [eax + 0x50], 0x800
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x4870c8
cmp word [edi + 2], 0x2d
jne 0x4870c8
lea edi, [esi + 4]
mov dword [esp + 0x10], edi
mov ecx, edi
cmp word [edi], 0x5c
mov dword [esp + 0x50], edi
jne 0x486caf
cmp word [edi + 2], 0x45
jne 0x48682b
add edi, 4
mov dword [esp + 0x10], edi
mov ecx, edi
cmp word [edi], 0x5c
je 0x486815
cmp word [edi], 0x5c
mov dword [esp + 0x50], edi
jne 0x486caf
nop dword [eax]
cmp word [edi + 2], 0x51
jne 0x486caf
lea edi, [ecx + 4]
mov dword [esp + 0x10], edi
cmp word [edi], 0x5c
mov dword [esp + 0x50], edi
jne 0x486ca4
cmp word [edi + 2], 0x45
jne 0x486ca4
add edi, 4
mov dword [esp + 0x10], edi
mov ecx, edi
mov dword [esp + 0x50], edi
cmp word [edi], 0x5c
je 0x486840
jmp 0x486cad
cmp ebx, 0xfffffff4
je 0x489ec0
cmp ebx, 0xffffffe6
jne 0x4868bd
mov edi, dword [esp + 0x10]
cmp word [edi + 2], 0x5c
jne 0x4868af
cmp word [edi + 4], 0x45
jne 0x4868af
mov ecx, dword [esp + 0x18]
add edi, 4
jmp 0x486936
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x64], 1
jmp 0x486936
cmp ebx, 0xffffffe7
je 0x48692e
test ebx, ebx
jns 0x4867a3
mov ecx, dword [esp + 0x18]
mov eax, 0xfffffffa
add dword [esp + 0x2c], 2
inc ecx
mov edx, dword [edi + 8]
sub eax, ebx
mov dword [esp + 0x18], ecx
cmp eax, 0x1c
ja case.0x4868f2.6
movzx eax, byte [eax + 0x48a4b8]
jmp dword [eax*4 + 0x48a484]
mov eax, dword [esp + 0x10]
mov ecx, 0x4b91e8
mov dword [esp + 0x68], eax
lea eax, [ebx*4 + 0x74]
sub ecx, eax
mov edi, dword [ecx]
mov ecx, esi
sub edi, 2
mov dword [esp + 0x18], ecx
jmp 0x486936
xor ecx, ecx
nop
mov al, byte [edx + ecx + 0x40]
or byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x486920
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
add edi, 2
mov dword [esp + 0x10], edi
movzx ebx, word [edi]
mov dword [esp + 0x24], ebx
test ebx, ebx
jne 0x48697a
test eax, eax
je 0x4873b3
lea edi, [eax + 2]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x10], edi
movzx ebx, word [edi]
mov dword [esp + 0x24], ebx
test ebx, ebx
je 0x489f03
cmp ebx, 0x5d
jne 0x486470
cmp dword [esp + 0x64], 0
jne 0x486470
jmp 0x4873bb
mov dword [esp + 0x40], 1
xor ecx, ecx
nop dword [eax]
mov al, byte [edx + ecx + 0x40]
not al
or byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x4869a0
jmp 0x48692e
xor ecx, ecx
nop word [eax + eax]
mov al, byte [edx + ecx + 0xa0]
or byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x4869c0
jmp 0x48692e
mov dword [esp + 0x40], 1
xor ecx, ecx
mov al, byte [edx + ecx + 0xa0]
not al
or byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x4869e0
jmp 0x48692e
movzx eax, byte [edx]
mov ecx, 2
or byte [esp + 0x7c], al
movzx eax, byte [edx + 1]
and al, 0xf7
or byte [esp + 0x7d], al
nop
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x20
jl 0x486a10
jmp 0x48692e
lea eax, [esp + 0x7c]
mov dword [esp + 0x40], 1
xor esi, esi
sub edx, eax
lea ecx, [esp + 0x7c]
add ecx, esi
inc esi
mov al, byte [ecx + edx]
not al
or byte [ecx], al
cmp esi, 0x20
jl 0x486a32
or byte [esp + 0x7d], 8
jmp 0x48692e
mov edx, dword [esp + 0x28]
mov eax, 0x3000
or byte [esp + 0x7d], 2
mov esi, 1
or byte [esp + 0x80], 1
or byte [esp + 0x90], 1
mov ebp, dword [esp + 0x2c]
mov dword [edx], 0x16800001
mov dword [edx + 4], 0x180e0001
mov dword [edx + 8], 0x20000002
mov dword [edx + 0xc], 0x1200a
mov dword [edx + 0x10], 0x1202f
mov dword [edx + 0x14], 0x1205f
mov word [edx + 0x18], ax
add edx, 0x1a
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], edx
jmp 0x486942
xor edx, edx
nop dword [eax]
mov eax, edx
mov ecx, 0xff
sub eax, 1
je 0x486add
sub eax, 3
je 0x486ad6
sub eax, 0x10
jne 0x486ae2
mov ecx, 0xfe
jmp 0x486ae2
mov ecx, 0xfd
or byte [esp + edx + 0x7c], cl
inc edx
cmp edx, 0x20
jl 0x486ac0
mov edx, dword [esp + 0x28]
mov esi, 1
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x1c], esi
mov dword [edx], 0x1000002
mov dword [edx + 4], 0x2167f
mov dword [edx + 8], 0x180d1681
mov dword [edx + 0xc], 0x180f0002
mov dword [edx + 0x10], 0x21fff
mov dword [edx + 0x14], 0x202e200b
mov dword [edx + 0x18], 0x20300002
mov dword [edx + 0x1c], 0x2205e
mov dword [edx + 0x20], 0x2fff2060
mov dword [edx + 0x24], 0x30010002
mov dword [edx + 0x28], 0xdfffdbff
add edx, 0x2c
mov edi, dword [esp + 0x10]
mov dword [esp + 0x28], edx
jmp 0x486942
mov edx, dword [esp + 0x28]
mov eax, 0x2029
or byte [esp + 0x7d], 0x3c
mov esi, 1
or byte [esp + 0x8c], 0x20
mov ebp, dword [esp + 0x2c]
mov dword [edx], 0x20280002
mov word [edx + 4], ax
add edx, 6
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], edx
jmp 0x486942
xor ecx, ecx
nop dword [eax]
mov eax, ecx
mov edx, 0xff
sub eax, 1
je 0x486bb8
sub eax, 0xf
jne 0x486bbd
mov edx, 0xdf
jmp 0x486bbd
mov edx, 0xc3
or byte [esp + ecx + 0x7c], dl
inc ecx
cmp ecx, 0x20
jl 0x486ba0
mov edx, dword [esp + 0x28]
mov eax, 0xdfff
mov ecx, dword [esp + 0x18]
mov esi, 1
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x1c], esi
mov dword [edx], 0x1000002
mov dword [edx + 4], 0x22027
mov dword [edx + 8], 0xdbff202a
mov word [edx + 0xc], ax
add edx, 0xe
mov edi, dword [esp + 0x10]
mov dword [esp + 0x28], edx
jmp 0x486942
push dword [esp + 0x12c]
lea eax, [esp + 0xd8]
push eax
lea edx, [esp + 0xd8]
lea ecx, [esp + 0x18]
call fcn.00483df0
add esp, 8
test eax, eax
js 0x489ec6
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov ebp, dword [esp + 0x2c]
neg ebx
cmp ebx, 0x10
mov dword [esp + 0x1c], 1
sete cl
sub ecx, dword [esp + 0xd0]
neg ecx
sbb ecx, ecx
add ecx, 4
mov word [edx], cx
mov ecx, esi
mov word [edx + 2], ax
mov esi, 1
mov ax, word [esp + 0xd4]
mov word [edx + 4], ax
add edx, 6
mov edi, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], ecx
jmp 0x486942
test byte [esp + 0x38], 0x40
mov edi, dword [esp + 0x10]
jne 0x489e9d
movzx ebx, word [edi]
mov dword [esp + 0x24], ebx
jmp 0x4867a7
mov edx, 1
mov dword [esp + 0x64], edx
mov ecx, edi
movzx eax, word [edi]
test ax, ax
je 0x4870c2
test edx, edx
jne 0x486cc8
cmp eax, 0x5d
je 0x4870c2
mov edx, eax
and eax, 0xfc00
mov dword [esp + 0x18], edx
cmp eax, 0xd800
jne 0x486d03
movzx eax, word [edi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea edi, [ecx + 2]
add edx, 0x10000
mov dword [esp + 0x50], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edi
cmp dword [esp + 0x64], 0
jne 0x486d61
cmp edx, 0x5c
jne 0x486d61
mov eax, dword [esp + 0x140]
lea ecx, [esp + 0x10]
mov edi, dword [esp + 0x12c]
mov edx, edi
push 1
push dword [esp + 0x3c]
push dword [eax + 0x38]
call fcn.00483710
add esp, 0xc
mov edx, eax
cmp dword [edi], 0
mov dword [esp + 0x18], edx
jne 0x489ec6
test edx, edx
jns 0x486d59
cmp edx, 0xfffffffb
jne 0x4870c2
mov edx, 8
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x50], edi
cmp edx, ebx
jl 0x489ee0
je 0x4870c8
mov ebp, dword [esp + 0x18]
cmp ebp, 0xd
je 0x486d7d
cmp ebp, 0xa
jne 0x486d8b
mov eax, dword [esp + 0x140]
or dword [eax + 0x50], 0x800
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], 2
cmp ebp, 0xff
jg 0x486e23
mov esi, eax
and esi, 1
je 0x486daf
cmp ebp, 0x7f
jg 0x486e23
cmp dword [esp + 0x144], 0
mov ecx, 1
mov dword [esp + 0x18], ecx
jne 0x486936
cmp ebx, ebp
jg 0x486936
mov edi, dword [esp + 0x140]
mov edx, ebx
test edx, edx
jns 0x486dde
add edx, 7
sar edx, 3
movzx ecx, byte [esp + edx + 0x7c]
mov eax, ebx
and eax, 7
bts ecx, eax
mov byte [esp + edx + 0x7c], cl
test esi, esi
je 0x486e11
mov eax, dword [edi + 4]
movzx edx, byte [eax + ebx]
mov ecx, edx
and edx, 7
shr ecx, 3
movzx eax, byte [esp + ecx + 0x7c]
bts eax, edx
mov byte [esp + ecx + 0x7c], al
inc ebx
cmp ebx, ebp
jle 0x486dd5
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x18]
jmp 0x486936
mov esi, 1
mov dword [esp + 0x1c], esi
test al, 1
je 0x486e78
mov edx, ebx
mov ebx, ebp
mov dword [esp + 0x5c], ebx
cmp edx, ebx
ja 0x486e70
nop dword [eax]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c7818]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bae38]
mov edi, dword [eax*8 + 0x4c673c]
add edi, edx
cmp edi, edx
jne 0x486edd
inc edx
cmp edx, ebx
jbe 0x486e40
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov eax, 2
mov word [edx], ax
add edx, eax
mov eax, ebx
and eax, 0xf800
cmp eax, 0xd800
je 0x487043
cmp ebx, 0x110000
jae 0x487043
cmp ebx, 0xffff
jbe 0x487048
lea ecx, [ebx - 0x10000]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edx], ax
mov eax, 4
mov word [edx + 2], cx
jmp 0x487050
cmp edx, ebx
ja 0x486e70
inc edx
lea esi, [edi + 1]
cmp edx, ebx
ja 0x486f21
nop dword [eax]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4c7818]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bae38]
mov eax, dword [eax*8 + 0x4c673c]
add eax, edx
cmp eax, esi
jne 0x486f21
inc edx
inc esi
cmp edx, ebx
jbe 0x486ef0
mov eax, dword [esp + 0x24]
dec esi
cmp edi, eax
jb 0x486f34
cmp esi, ebp
jbe 0x486e38
jmp 0x486f46
dec eax
cmp esi, eax
jb 0x486f42
mov dword [esp + 0x24], edi
jmp 0x486e38
cmp esi, ebp
jbe 0x486f54
lea eax, [ebp + 1]
cmp edi, eax
ja 0x486f54
mov ebp, esi
jmp 0x486e38
mov ecx, dword [esp + 0x28]
cmp edi, esi
jne 0x486f69
mov edi, 1
mov word [ecx], di
lea edi, [ecx + 2]
jmp 0x486fda
mov ebx, 2
mov eax, edi
mov word [ecx], bx
and eax, 0xf800
add ecx, ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x28], ecx
cmp eax, 0xd800
je 0x486fc7
cmp edi, 0x110000
jae 0x486fc7
cmp edi, 0xffff
jbe 0x486fcc
lea ecx, [edi - 0x10000]
mov edi, dword [esp + 0x28]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edi], ax
mov eax, 4
mov word [edi + 2], cx
jmp 0x486fd8
mov edi, 0xfffe
mov word [ecx], di
mov eax, 2
mov edi, dword [esp + 0x28]
add edi, eax
mov eax, esi
and eax, 0xf800
cmp eax, 0xd800
je 0x48702b
cmp esi, 0x110000
jae 0x48702b
cmp esi, 0xffff
jbe 0x487030
lea ecx, [esi - 0x10000]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or ecx, 0xdc00
or eax, 0xd800
mov word [edi], ax
mov eax, 4
mov word [edi + 2], cx
add edi, eax
mov dword [esp + 0x28], edi
jmp 0x486e38
mov esi, 0xfffe
mov eax, 2
mov word [edi], si
add edi, eax
mov dword [esp + 0x28], edi
jmp 0x486e38
mov ebx, 0xfffe
mov word [edx], bx
mov eax, 2
add edx, eax
mov eax, ebp
and eax, 0xf800
cmp eax, 0xd800
je 0x48709a
cmp ebp, 0x110000
jae 0x48709a
cmp ebp, 0xffff
jbe 0x48709f
lea ecx, [ebp - 0x10000]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edx], ax
mov eax, 4
mov word [edx + 2], cx
jmp 0x4870a7
mov ebp, 0xfffe
mov word [edx], bp
mov eax, 2
mov ecx, dword [esp + 0x48]
add edx, eax
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], ecx
jmp 0x486942
mov edi, esi
mov dword [esp + 0x10], edi
cmp ebp, 2
lea ebx, [ebp + 1]
cmovge ebx, ebp
mov ebp, dword [esp + 0x24]
cmp ebx, 1
jne 0x4870f9
cmp word [edi + 2], 0x5d
jne 0x4870f9
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4872df
cmp ebp, 0x10000
jl 0x4872df
cmp ebp, 0xff
jg 0x48718a
mov esi, dword [esp + 0x38]
and esi, 1
je 0x487113
cmp ebp, 0x7f
jg 0x48718a
mov dword [esp + 0x18], 1
mov edx, ebp
test edx, edx
jns 0x487124
add edx, 7
sar edx, 3
movzx ecx, byte [esp + edx + 0x7c]
mov eax, ebp
and eax, 7
mov dword [esp + 0x2c], ebx
bts ecx, eax
test esi, esi
mov esi, dword [esp + 0x1c]
mov byte [esp + edx + 0x7c], cl
je 0x487179
mov eax, dword [esp + 0x140]
mov eax, dword [eax + 4]
movzx edx, byte [eax + ebp]
mov ebp, ebx
mov ecx, edx
mov dword [esp + 0x2c], ebp
shr ecx, 3
and edx, 7
movzx eax, byte [esp + ecx + 0x7c]
bts eax, edx
mov edx, dword [esp + 0x28]
mov byte [esp + ecx + 0x7c], al
mov ecx, dword [esp + 0x18]
jmp 0x486942
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
jmp 0x486942
mov edi, dword [esp + 0x28]
mov eax, 1
mov edx, ebp
mov dword [esp + 0x1c], 1
mov word [edi], ax
mov eax, edx
and eax, 0xf800
add edi, 2
cmp eax, 0xd800
je 0x4871eb
cmp edx, 0x110000
jae 0x4871eb
cmp edx, 0xffff
jbe 0x4871f0
lea ecx, [edx - 0x10000]
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edi], ax
mov eax, 4
mov word [edi + 2], cx
jmp 0x4871f8
mov ebp, 0xfffe
mov word [edi], bp
mov eax, 2
mov ebp, dword [esp + 0x48]
add edi, eax
test byte [esp + 0x38], 1
mov ecx, ebp
mov dword [esp + 0x28], edi
mov esi, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], ebx
je 0x486932
mov eax, edx
test eax, eax
jns 0x487222
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4c7818]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48723d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], esi
movzx eax, word [ecx*2 + 0x4bae38]
mov ecx, dword [eax*8 + 0x4c673c]
add ecx, edx
cmp ecx, edx
je 0x48692e
mov eax, 1
lea edx, [esi + 2]
mov word [esi], ax
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
je 0x4872b7
cmp ecx, 0x110000
jae 0x4872b7
cmp ecx, 0xffff
jbe 0x4872bc
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edx], ax
mov eax, 4
mov word [edx + 2], cx
jmp 0x4872c4
mov ecx, 0xfffe
mov word [edx], cx
mov eax, 2
mov edi, dword [esp + 0x10]
mov ecx, ebp
add edx, eax
mov dword [esp + 0x18], ecx
mov ebp, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebp
jmp 0x48693e
add edi, 2
mov dword [esp + 0x10], edi
test eax, eax
je 0x48734b
mov eax, dword [esp + 0x3c]
mov ecx, 0xffffffff
mov edx, dword [esp + 0x14]
cmp eax, 0xfffffffe
mov ebx, dword [esp + 0x30]
cmove eax, ecx
test byte [esp + 0x38], 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
mov eax, 0
setne al
add eax, 0x1f
mov word [edx], ax
mov word [edx + 2], bp
add edx, 4
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
add edi, 2
mov ebp, dword [esp + 0x20]
movsd xmm2, qword [esp + 0xe8]
mov dword [esp + 0x50], ebx
jmp 0x485dc1
cmp ebp, 0xffff
jle 0x48739e
mov eax, ebp
and eax, 0xf800
cmp eax, 0xd800
je 0x487399
cmp ebp, 0x110000
jae 0x487399
cmp ebp, 0xffff
jbe 0x48739e
lea eax, [ebp - 0x10000]
mov ebx, eax
and eax, 0x3ff
shr ebx, 0xa
or ebx, 0xd800
or eax, 0xdc00
mov word [esp + 0xc0], bx
jmp 0x485fb0
mov ebp, 0xfffe
mov bx, bp
mov edx, 1
mov word [esp + 0xc0], bx
jmp 0x485fbd
test ebx, ebx
je 0x489f03
mov eax, dword [esp + 0x3c]
mov ebx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ebx
mov ebx, dword [esp + 0x30]
test esi, esi
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], ebx
je 0x48748f
test esi, esi
je 0x4873f8
test dword [esp + 0x38], 0x20000000
je 0x48748f
mov ebx, dword [esp + 0x14]
xor eax, eax
mov word [edx], ax
mov eax, 0x6c
add edx, 2
mov dword [esp + 0x28], edx
mov word [ebx], ax
xor eax, eax
cmp dword [esp + 0x34], eax
setne al
movzx eax, ax
mov word [ebx + 4], ax
test ecx, ecx
jle 0x487461
or eax, 2
mov word [ebx + 4], ax
add ebx, 6
mov eax, edx
sub eax, ebx
and eax, 0xfffffffe
push eax
lea eax, [ebx + 0x20]
push ebx
push eax
call fcn.00498760
movups xmm0, xmmword [esp + 0x88]
mov edx, dword [esp + 0x34]
add esp, 0xc
add edx, 0x20
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esp + 0x8c]
movups xmmword [ebx + 0x10], xmm0
mov ebp, dword [esp + 0x20]
mov eax, edx
mov ecx, dword [esp + 0x140]
sub eax, ebp
movsd xmm2, qword [esp + 0xe8]
sar eax, 1
mov word [ebp + 2], ax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
add edi, 2
jmp 0x485dc1
mov edi, dword [esp + 0x34]
xor eax, eax
mov edx, dword [esp + 0x14]
cmp edi, esi
setne al
add eax, 0x6a
cmp dword [esp + 0x144], 0
mov word [edx], ax
jne 0x4874d3
test edi, edi
je 0x4874be
xor ecx, ecx
not byte [esp + ecx + 0x7c]
inc ecx
cmp ecx, 0x20
jl 0x4874b4
movups xmm0, xmmword [esp + 0x7c]
movups xmmword [edx + 2], xmm0
movups xmm0, xmmword [esp + 0x8c]
movups xmmword [edx + 0x12], xmm0
add edx, 0x22
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0x140]
add edi, 2
mov ebp, dword [esp + 0x20]
movsd xmm2, qword [esp + 0xe8]
jmp 0x485dc1
test ebp, ebp
je case.0x486201.1
movzx eax, word [edi + 2]
add edi, 2
xor ebx, ebx
or esi, 0xffffffff
cmp eax, 0x30
jb 0x48755f
mov edx, eax
nop dword [eax]
cmp dx, 0x39
ja 0x48753f
movzx eax, dx
lea ebx, [ebx + ebx*4]
add edi, 2
lea ebx, [ebx - 0x18]
lea ebx, [eax + ebx*2]
movzx eax, word [edi]
mov edx, eax
cmp eax, 0x30
jae 0x487520
test ebx, ebx
js 0x48754b
cmp ebx, 0xffff
jle 0x48755f
mov eax, dword [esp + 0x12c]
mov dword [eax], 5
mov eax, 5
jmp 0x4875cc
cmp word [edi], 0x7d
jne 0x487569
mov esi, ebx
jmp 0x4875bb
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x7d
je 0x4875bb
xor esi, esi
cmp eax, 0x30
jb 0x4875b3
mov edx, eax
nop
cmp dx, 0x39
ja 0x48759f
movzx eax, dx
lea esi, [esi + esi*4]
add edi, 2
lea esi, [esi - 0x18]
lea esi, [eax + esi*2]
movzx eax, word [edi]
mov edx, eax
cmp eax, 0x30
jae 0x487580
test esi, esi
js 0x489f57
cmp esi, 0xffff
jg 0x489f57
cmp esi, ebx
jl 0x489f7a
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x44], esi
mov eax, dword [eax]
mov dword [esp + 0x10], edi
test eax, eax
jne 0x48a3ba
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
jmp 0x487602
xor edx, edx
or ecx, 0xffffffff
jmp 0x4875fa
mov edx, 1
or ecx, 0xffffffff
jmp 0x4875fa
xor edx, edx
mov ecx, 1
mov dword [esp + 0x54], edx
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x20]
test esi, esi
je 0x489fc0
mov eax, dword [esp + 0x50]
test edx, edx
cmovne eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
mov ebx, eax
mov eax, dword [esp + 0x2c]
cmovne eax, dword [esp + 0x3c]
xor ebp, ebp
cmp edx, ecx
mov dword [esp + 0x3c], eax
mov edx, esi
mov dword [esp + 0x1c], ebp
mov eax, 0x20000000
mov dword [esp + 0x4c], edx
movzx ecx, word [edi + 2]
cmove eax, ebp
mov dword [esp + 0x48], eax
cmp ecx, 0x2b
jne 0x487660
add edi, 2
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], edi
jmp 0x48767c
cmp ecx, 0x3f
jne 0x487675
mov ebp, dword [esp + 0xb8]
add edi, 2
mov dword [esp + 0x10], edi
jmp 0x48767c
mov ebp, dword [esp + 0xb4]
cmp word [esi], 0x6f
mov dword [esp + 0x24], ebp
jne 0x4876e6
mov eax, dword [esi]
add dword [esp + 0x14], 8
cmp dword [esp + 0x144], 0
mov dword [esi + 4], eax
mov dword [esi], 0x4007b
mov dword [esi + 8], 0x40072
mov dword [esp + 0x78], 6
jne 0x4876de
mov edi, dword [esp + 0x140]
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x24]
add eax, 2
cmp edx, eax
jb 0x4876de
mov ecx, dword [esp + 0x20]
sub ecx, dword [edi + 0x14]
movzx esi, word [edx - 2]
add ecx, 2
sar ecx, 1
cmp esi, ecx
jne 0x4876de
lea eax, [esi + 2]
mov word [edx - 2], ax
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax]
cmp ecx, 0x1d
je 0x487fce
cmp ecx, 0x1e
je 0x487fce
cmp ecx, 0x1f
je 0x487f69
cmp ecx, 0x20
je 0x487f69
cmp ecx, 0x17
jae 0x48776a
cmp dword [esp + 0x1c], 0
mov esi, 0x34
mov ebp, ecx
jne 0x48806f
cmp dword [esp + 0x44], 0
mov dword [esp + 0x30], ebx
jge 0x48806f
push dword [esp + 0x140]
mov ecx, dword [esp + 0x24]
lea eax, [edi + 2]
push dword [esp + 0x3c]
lea edx, [esi - 0x33]
mov dword [esp + 0x38], ebx
push eax
call fcn.00485230
add esp, 0xc
test eax, eax
je 0x48806b
mov dword [esp + 0x30], ebx
jmp 0x48805b
cmp ecx, 0x6a
je 0x487ebb
cmp ecx, 0x6b
je 0x487ebb
cmp ecx, 0x6c
je 0x487ebb
cmp ecx, 0x6d
je 0x487ebb
cmp ecx, 0x6e
je 0x487ebb
lea eax, [ecx - 0x77]
cmp ax, 0xa
ja 0x487ea0
mov eax, dword [esp + 0x14]
xor esi, esi
sub eax, dword [esp + 0x20]
xor ebp, ebp
mov dword [esp + 0x34], esi
mov esi, 0x81
sar eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], ebp
cmp cx, si
jne 0x4877e5
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], esi
mov esi, 0x8b
cmp word [ecx + 4], si
je 0x488347
jmp 0x487815
cmp ecx, 0x7b
jae 0x487811
mov esi, dword [esp + 0x30]
mov dword [esp + 0x30], esi
cmp dword [esp + 0x54], ebp
jg 0x488347
mov esi, dword [esp + 0x44]
test esi, esi
js 0x487809
cmp esi, 1
jle 0x487811
mov dword [esp + 0x44], 1
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x54]
test esi, esi
jne 0x48793c
push dword [esp + 0x58]
mov eax, dword [esp + 0x18]
lea esi, [ecx + 2]
push dword [esp + 0x144]
xor edx, edx
cmp dword [esp + 0x4c], 1
push ecx
mov word [eax], dx
jg 0x4878d5
mov edx, 1
call fcn.00484eb0
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edi, dword [esp + 0x20]
add eax, eax
push eax
push edi
push esi
call fcn.00498760
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, 2
mov dword [esp + 0x14], edx
cmp dword [esp + 0x44], ebp
jne 0x4878ac
mov ecx, dword [esp + 0x140]
mov eax, 0x9b
movsd xmm2, qword [esp + 0xe8]
xor ebp, ebp
mov word [edi], ax
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
or dword [ecx + 0x54], eax
add edi, 2
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], ebp
jmp 0x485dc1
mov ecx, dword [esp + 0x24]
mov ebp, edi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x44]
dec esi
mov dword [esp + 0x30], ebx
lea eax, [ecx + 0x8c]
mov word [edi], ax
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
jmp 0x4879b6
mov edx, 3
call fcn.00484eb0
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edi, dword [esp + 0x20]
add eax, eax
push eax
lea eax, [edi + 6]
push edi
push eax
call fcn.00498760
mov ecx, dword [esp + 0x30]
mov edx, 0x7d
add dword [esp + 0x20], 6
add esp, 0xc
mov dword [esp + 0x30], ebx
lea eax, [ecx + 0x8c]
mov word [edi], ax
mov eax, esi
mov word [esi], dx
add eax, 4
add esi, 2
mov dword [esp + 0x20], eax
xor edx, edx
mov dword [esp + 0x34], esi
mov word [esi], dx
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x10]
dec esi
mov edx, dword [esp + 0x4c]
jmp 0x4879b6
mov dword [esp + 0x30], ebx
cmp esi, 1
jle 0x4879a4
cmp dword [esp + 0x144], ebp
je 0x487a52
mov eax, dword [esp + 0x78]
lea ecx, [esi - 1]
movd xmm1, ecx
mov esi, ecx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
imul esi, eax
mulsd xmm1, xmm0
comisd xmm1, xmm2
ja 0x48a38a
mov eax, dword [esp + 0x144]
mov ecx, dword [eax]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, esi
jl 0x48a38a
lea eax, [esi + ecx]
mov dword [esp + 0x30], ebx
mov ecx, dword [esp + 0x144]
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
test esi, esi
jle 0x4879bc
sub esi, eax
mov dword [esp + 0x44], esi
test esi, esi
js 0x487d54
mov ebx, dword [esp + 0x144]
test ebx, ebx
je 0x487b70
test esi, esi
jle 0x487b70
mov eax, dword [esp + 0x78]
add eax, 5
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov ecx, eax
movd xmm1, eax
cvtdq2pd xmm1, xmm1
imul ecx, esi
mulsd xmm1, xmm0
sub ecx, 4
comisd xmm1, xmmword [esp + 0xe8]
ja 0x48a38a
mov esi, dword [ebx]
mov eax, 0x7fffffeb
sub eax, esi
cmp eax, ecx
jl 0x48a38a
lea eax, [ecx + esi]
mov dword [ebx], eax
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x487d1a
mov ecx, ebp
mov edx, ebp
sub ecx, ebx
sar ecx, 1
inc ecx
lea eax, [ecx + ecx]
sub edx, eax
movzx eax, word [edx + 2]
test eax, eax
jne 0x487cea
xor ebx, ebx
jmp 0x487cef
mov dword [esp + 0x30], ebx
cmp dword [esp + 0xa8], ebp
je 0x487a6c
test ebx, ebx
mov edx, ebx
cmovs edx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x140]
lea ebp, [eax + eax]
mov ebx, 1
mov dword [esp + 0x5c], ebp
nop
mov esi, dword [edx + 0x24]
push ebp
push ecx
push dword [esp + 0x1c]
call fcn.00498e20
mov edx, dword [esp + 0x14c]
mov ecx, esi
sub ecx, dword [esp + 0x64]
add esp, 0xc
sar ecx, 1
mov eax, dword [edx + 0x34]
mov edi, dword [edx + 0x10]
sub eax, ecx
add eax, 0xffffff9c
lea eax, [edi + eax*2]
cmp dword [edx + 0x24], eax
jbe 0x487b0f
mov ecx, edx
call fcn.004835e0
mov ecx, dword [esp + 0x12c]
mov dword [ecx], eax
test eax, eax
jne 0x489ec6
mov eax, dword [esp + 0x140]
sub esi, edi
mov ecx, dword [esp + 0x58]
sub ecx, edi
sar esi, 1
sar ecx, 1
mov edx, dword [eax + 0x10]
mov edi, edx
mov eax, dword [eax + 0x34]
lea ecx, [edx + ecx*2]
lea esi, [edx + esi*2]
mov dword [esp + 0x58], ecx
mov ecx, esi
add edx, 0xffffff38
sub ecx, dword [esp + 0x58]
sar ecx, 1
sub eax, ecx
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x140]
cmp dword [edx + 0x24], eax
ja 0x487ab3
mov edi, dword [esp + 0x58]
cmp edi, esi
jae 0x487b3b
mov ebp, dword [esp + 0x18]
nop dword [eax + eax]
mov cx, word [edi]
add edi, 2
mov eax, dword [edx + 0x24]
add cx, bp
mov word [eax], cx
add dword [edx + 0x24], 2
cmp edi, esi
jb 0x487b20
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
inc ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], esi
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
cmp ebx, eax
jl 0x487a80
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x60]
jmp 0x4879a8
lea eax, [esi - 1]
mov dword [esp + 0x40], eax
test eax, eax
js 0x487a21
mov edi, dword [esp + 0x140]
add ecx, 0x8c
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
add edx, edx
mov dword [esp + 0x5c], ecx
mov esi, dword [edi + 0x24]
mov dword [esp + 0x60], edx
mov word [ebp], cx
mov ebx, esi
add ebp, 2
mov dword [esp + 0x14], ebp
test eax, eax
je 0x487bdf
mov ecx, dword [esp + 0x34]
mov eax, 0x7d
mov word [ebp], ax
add ebp, 2
test ecx, ecx
jne 0x487bca
xor eax, eax
jmp 0x487bd0
mov eax, ebp
sub eax, ecx
sar eax, 1
mov dword [esp + 0x34], ebp
mov word [ebp], ax
add ebp, 2
mov dword [esp + 0x14], ebp
push edx
push dword [esp + 0x24]
push ebp
call fcn.00498e20
mov eax, dword [esp + 0x14c]
add esp, 0xc
sub esi, dword [esp + 0x58]
mov ebp, dword [edi + 0x10]
mov edi, dword [edi + 0x24]
mov eax, dword [eax + 0x34]
sar esi, 1
sub eax, esi
add eax, 0xffffff9c
lea eax, [eax*2]
add eax, ebp
cmp edi, eax
jbe 0x487c6b
mov esi, dword [esp + 0x140]
nop dword [eax]
mov ecx, esi
call fcn.004835e0
mov ecx, dword [esp + 0x12c]
mov dword [ecx], eax
test eax, eax
jne 0x489ec6
mov edx, dword [esi + 0x10]
sub ebx, ebp
mov eax, dword [esp + 0x58]
mov edi, dword [esi + 0x24]
sub eax, ebp
sar eax, 1
mov ebp, edx
sar ebx, 1
lea eax, [edx + eax*2]
lea ebx, [edx + ebx*2]
mov dword [esp + 0x58], eax
mov ecx, ebx
sub ecx, eax
mov eax, dword [esi + 0x34]
sar ecx, 1
sub eax, ecx
add eax, 0xffffff9c
lea eax, [edx + eax*2]
cmp edi, eax
ja 0x487c20
mov ebp, dword [esp + 0x58]
mov esi, edi
mov edi, dword [esp + 0x140]
cmp ebp, ebx
jae 0x487cb0
xor eax, eax
cmp dword [esp + 0x40], eax
setne al
lea eax, [eax*2 + 1]
movzx edx, ax
nop
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x24]
add ecx, edx
add cx, word [ebp]
add ebp, 2
mov word [eax], cx
mov esi, dword [edi + 0x24]
add esi, 2
mov dword [edi + 0x24], esi
cmp ebp, ebx
jb 0x487c90
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x58], ebx
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x40]
sub eax, 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x40], eax
jns 0x487ba1
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
jmp 0x487a25
neg eax
lea ebx, [ebx + eax*2]
mov eax, 0x72
mov word [ebp], ax
movzx eax, cx
mov word [ebp + 2], ax
add ebp, 4
mov word [edx + 2], ax
test ebx, ebx
jne 0x487a31
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x1c], 0
je 0x488347
movzx eax, word [edx]
cmp eax, 0x5d
jne 0x4882df
movzx eax, word [edx + 4]
cmp eax, 0x10
je 0x487d48
cmp eax, 0xf
mov eax, 6
jne 0x487d4d
mov eax, 0xa
add edx, eax
jmp 0x488310
mov edi, dword [esp + 0x14]
movzx eax, word [edi - 2]
lea ebx, [edi - 4]
add eax, eax
sub ebx, eax
movzx eax, word [ebx]
mov ecx, eax
cmp eax, 0x7b
je 0x487d72
cmp eax, 0x7c
jne 0x487d83
cmp dword [esp + 0x1c], 0
je 0x487d83
mov eax, 0x7d
mov word [ebx], ax
jmp 0x487d95
cmp ecx, 0x7b
je 0x487e90
cmp ecx, 0x7c
je 0x487e90
cmp dword [esp + 0x144], 0
jne 0x487dce
mov esi, ebx
push dword [esp + 0x140]
lea edx, [edi - 4]
push ecx
mov ecx, esi
call fcn.00484a40
add esp, 8
test eax, eax
jne 0x487dca
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x487da1
jmp 0x487dce
add word [ebx], 5
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x487e80
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x487e00
mov ecx, 0x86
cmp ax, cx
je 0x487e00
inc eax
mov word [ebx], ax
mov eax, 0x75
mov word [edi - 4], ax
jmp 0x487e60
push dword [esp + 0x58]
mov edi, dword [esp + 0x18]
xor eax, eax
push dword [esp + 0x144]
mov esi, edi
push ecx
sub esi, ebx
mov word [edi], ax
lea edx, [eax + 2]
sar esi, 1
mov ecx, ebx
call fcn.00484eb0
add esp, 0xc
lea eax, [esi + esi]
push eax
lea eax, [ebx + 4]
push ebx
push eax
call fcn.00498760
mov edx, dword [esp + 0x28]
mov eax, 0x7e
mov word [ebx], ax
add esp, 0xc
mov eax, 0x75
mov word [edi + 4], ax
lea eax, [esi + 2]
mov word [edi + 6], ax
add edi, 8
mov dword [esp + 0x14], edi
mov word [ebx + 2], ax
test ebp, ebp
je 0x487e6d
mov eax, 0x8e
mov word [ebp], ax
xor eax, eax
cmp dword [esp + 0x54], 2
cmovge eax, edx
mov dword [esp + 0x1c], eax
jmp 0x487d12
mov eax, dword [esp + 0x24]
add eax, 0x73
mov word [edi - 4], ax
jmp 0x488343
mov eax, dword [esp + 0x24]
add eax, 0x73
mov word [edi - 4], ax
jmp 0x487d12
mov eax, 0x97
cmp cx, ax
jne 0x489f9d
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x30], ebx
jmp 0x488347
mov esi, dword [esp + 0x44]
test esi, esi
jne 0x487ef6
mov ecx, dword [esp + 0x140]
mov edx, eax
mov eax, dword [esp + 0x48]
xor ebp, ebp
mov ebx, dword [esp + 0x30]
movsd xmm2, qword [esp + 0xe8]
or dword [ecx + 0x54], eax
add edi, 2
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], ebp
jmp 0x485dc1
mov edx, dword [esp + 0x54]
test edx, edx
jne 0x487f1a
cmp esi, 0xffffffff
jne 0x487f0c
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x62]
jmp 0x487f4a
cmp esi, 1
jne 0x487f2d
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x66]
jmp 0x487f4a
cmp edx, 1
jne 0x487f2d
cmp esi, 0xffffffff
jne 0x487f2d
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x64]
jmp 0x487f4a
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x68]
mov word [ecx], ax
xor eax, eax
mov word [ecx + 2], dx
add ecx, 4
cmp esi, 0xffffffff
cmovne eax, esi
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x30]
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
jmp 0x487d1e
movzx ebp, word [eax + 2]
cmp ecx, 0x1f
mov esi, 0x27
mov ecx, 0x1a
cmove esi, ecx
cmp dword [esp + 0x1c], 0
jne 0x487fc1
cmp dword [esp + 0x44], 0
jge 0x487fc1
push dword [esp + 0x140]
lea eax, [edi + 2]
push dword [esp + 0x3c]
lea edx, [ecx - 0x19]
mov ecx, dword [esp + 0x28]
push eax
call fcn.00485230
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x487fc1
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 1
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], edx
jmp 0x48806f
mov ebx, dword [esp + 0x14]
xor eax, eax
movzx edx, word [ebx - 2]
cmp ecx, 0x1d
lea ecx, [ebx - 2]
mov esi, 0xd
cmove esi, eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x488090
sub ecx, 2
mov ebp, ebx
sub ebp, ecx
sar ebp, 1
lea eax, [ebp*2]
push eax
push ecx
lea eax, [esp + 0x11c]
push eax
call fcn.00498e20
mov edx, dword [esp + 0x3c]
add esp, 0xc
or ebp, 0x10000000
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x140]
cmp dword [esp + 0x1c], 0
jne 0x48806f
cmp dword [esp + 0x44], 0
jge 0x48806f
mov ecx, dword [esp + 0x20]
mov edx, 1
push eax
push dword [esp + 0x3c]
lea eax, [edi + 2]
push eax
call fcn.00485230
add esp, 0xc
test eax, eax
je 0x48806b
mov dword [esp + 0x1c], 1
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx]
cmp eax, 0x10
je 0x4880ba
cmp eax, 0xf
je 0x4880ba
mov dword [esp + 0x18], 0xffffffff
lea ebx, [ecx + 2]
or edx, 0xffffffff
jmp 0x4880c8
cmp dword [esp + 0x54], 1
mov ebp, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], edx
jle 0x488028
mov eax, dword [esp + 0x140]
mov edx, dword [eax + 0x54]
or edx, ebp
or edx, dword [esp + 0x74]
mov dword [esp + 0x30], edx
jmp 0x48802f
movzx eax, word [ecx + 4]
lea ebx, [ecx + 2]
movzx edx, word [ebx]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x44], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], eax
je 0x488347
mov eax, dword [esp + 0x24]
add eax, esi
cmp dword [esp + 0x54], 0
mov dword [esp + 0x24], eax
jne 0x48815e
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x20]
movzx eax, ax
cmp edi, 0xffffffff
jne 0x488146
add eax, 0x21
mov word [esi], ax
mov esi, dword [esp + 0x18]
test ebp, 0x10000000
je 0x4882ad
and ebp, 7
lea eax, [ebp*2]
push eax
lea eax, [esp + 0x118]
push eax
push ebx
call fcn.00498e20
mov edx, dword [esp + 0x40]
lea eax, [ebp*2]
add esp, 0xc
jmp 0x4882b5
cmp edi, 1
jne 0x488150
add eax, 0x25
jmp 0x488107
add eax, 0x27
mov word [esi], ax
mov word [ebx], di
add ebx, 2
jmp 0x48810a
cmp dword [esp + 0x54], 1
jne 0x4881a1
mov esi, dword [esp + 0x44]
cmp esi, 0xffffffff
jne 0x48817d
mov ecx, dword [esp + 0x20]
add eax, 0x23
mov word [ecx], ax
lea ebx, [ecx + 2]
jmp 0x48810a
mov dword [esp + 0x14], ecx
cmp esi, 1
je 0x488347
add eax, 0x27
mov word [ecx], ax
add ecx, 2
lea eax, [esi - 1]
mov word [ecx], ax
lea ebx, [ecx + 2]
jmp 0x48810a
mov ecx, dword [esp + 0x20]
lea eax, [esi + 0x29]
mov edi, dword [esp + 0x44]
lea ebx, [ecx + 2]
mov word [ecx], ax
mov eax, dword [esp + 0x54]
mov word [ebx], ax
add ebx, 2
test edi, edi
jns 0x488229
test ebp, 0x10000000
je 0x4881ff
mov esi, ebp
and esi, 7
lea eax, [esi + esi]
push eax
lea eax, [esp + 0x118]
push eax
push ebx
call fcn.00498e20
mov edx, dword [esp + 0x40]
lea ebx, [ebx + esi*2]
add esp, 0xc
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
add eax, 0x21
mov word [ebx], ax
add ebx, 2
jmp 0x48810e
mov word [ebx], bp
add ebx, 2
test edx, edx
js 0x4881e9
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov word [ebx], dx
add eax, 0x21
mov word [ebx + 2], si
add ebx, 4
mov word [ebx], ax
add ebx, 2
jmp 0x48810e
cmp edi, eax
je 0x48810a
test ebp, 0x10000000
je 0x48825f
mov esi, ebp
and esi, 7
lea eax, [esi + esi]
push eax
lea eax, [esp + 0x118]
push eax
push ebx
call fcn.00498e20
mov edx, dword [esp + 0x40]
add esp, 0xc
mov eax, dword [esp + 0x54]
add esi, esi
jmp 0x488267
mov word [ebx], bp
mov esi, 2
lea ecx, [esi + ebx]
mov esi, dword [esp + 0x18]
test edx, edx
js 0x48827c
mov word [ecx], dx
mov word [ecx + 2], si
add ecx, 4
sub edi, eax
lea ebx, [ecx + 2]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], edi
movzx eax, ax
cmp edi, 1
jne 0x48829c
add eax, 0x25
mov word [ecx], ax
jmp 0x48810e
add eax, 0x27
mov word [ecx], ax
mov word [ebx], di
add ebx, 2
jmp 0x48810e
mov word [ebx], bp
mov eax, 2
lea ecx, [eax + ebx]
mov dword [esp + 0x14], ecx
test edx, edx
js 0x487f5c
mov word [ecx], dx
mov word [ecx + 2], si
add ecx, 4
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
jmp 0x487d1e
cmp eax, 0x29
je 0x4882e9
cmp eax, 0x43
jne 0x488314
movzx eax, byte [eax + 0x4ba9d0]
mov ebx, 0xfc00
lea edx, [edx + eax*2]
mov dword [esp + 0x4c], edx
mov ax, word [edx - 2]
and ax, bx
mov ebx, 0xd800
cmp ax, bx
jne 0x488314
add edx, 2
mov dword [esp + 0x4c], edx
mov esi, ecx
sub esi, edx
sar esi, 1
test esi, esi
jle 0x488347
movzx eax, word [edx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x488334.34
movzx eax, byte [eax + 0x48a52c]
jmp dword [eax*4 + 0x48a4d8]
mov eax, 0x2a
mov word [edx], ax
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
xor ebp, ebp
mov eax, dword [esp + 0x48]
movsd xmm2, qword [esp + 0xe8]
mov dword [esp + 0x20], ebp
or dword [ecx + 0x54], eax
add edi, 2
jmp 0x485dc1
mov eax, 0x2b
jmp 0x488340
mov eax, 0x2c
jmp 0x488340
mov eax, 0x2d
jmp 0x488340
mov eax, 0x37
jmp 0x488340
mov eax, 0x38
jmp 0x488340
mov eax, 0x39
jmp 0x488340
mov eax, 0x3a
jmp 0x488340
mov eax, 0x44
jmp 0x488340
mov eax, 0x45
jmp 0x488340
mov eax, 0x46
jmp 0x488340
mov eax, 0x47
jmp 0x488340
mov eax, 0x51
jmp 0x488340
mov eax, 0x52
jmp 0x488340
mov eax, 0x53
jmp 0x488340
mov eax, 0x54
jmp 0x488340
mov eax, 0x5e
jmp 0x488340
mov eax, 0x5f
jmp 0x488340
mov eax, 0x60
jmp 0x488340
mov eax, 0x61
jmp 0x488340
push dword [esp + 0x58]
xor eax, eax
push dword [esp + 0x144]
mov word [ecx], ax
push ecx
mov ecx, dword [esp + 0x58]
lea edx, [eax + 2]
call fcn.00484eb0
add esp, 0xc
lea eax, [esi + esi]
push eax
mov eax, dword [esp + 0x50]
push eax
add eax, 4
push eax
call fcn.00498760
mov eax, dword [esp + 0x58]
mov ecx, 0x7b
mov edx, dword [esp + 0x20]
add esp, 0xc
mov word [eax], cx
mov eax, 0x72
mov word [edx + 4], ax
lea ecx, [esi + 2]
mov word [edx + 6], cx
add edx, 8
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov word [eax + 2], cx
mov edi, dword [esp + 0x10]
jmp 0x48834b
mov eax, dword [ecx + 0x24]
add edi, 2
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x58], eax
xor eax, eax
movzx edx, word [edi]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x1c], 0x7f
mov dword [esp + 0x18], eax
cmp edx, 0x2a
jne 0x488775
movzx eax, word [edi + 2]
cmp eax, 0x3a
je 0x4884d9
mov esi, 0xff
cmp ax, si
ja 0x488775
mov ecx, eax
mov eax, dword [esp + 0x140]
mov eax, dword [eax + 0xc]
test byte [ecx + eax], 2
je 0x48876e
add edi, 2
mov dword [esp + 0x18], ebp
mov dword [esp + 0x48], ebp
mov ebx, 0x4ba18c
mov dword [esp + 0x20], ebp
mov esi, edi
mov dword [esp + 0x10], edi
mov ebp, 0xff
movzx eax, word [edi]
mov ecx, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], esi
cmp ax, bp
ja 0x488548
mov esi, dword [esp + 0x140]
mov edx, edi
mov ebx, dword [esi + 0xc]
mov esi, eax
nop dword [eax + eax]
movzx eax, si
mov ecx, edx
test byte [eax + ebx], 2
je 0x488540
lea edi, [edx + 2]
mov dword [esp + 0x10], edi
mov edx, edi
movzx eax, word [edi]
mov ecx, edi
mov esi, eax
cmp ax, bp
jbe 0x488520
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edx, ecx
sub edx, esi
sar edx, 1
cmp word [edi], 0x3a
mov dword [esp + 0x40], edx
jne 0x4885a0
lea ebp, [ecx + 2]
mov edi, ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x10], edi
mov esi, ebp
movzx eax, word [edi]
test ax, ax
je 0x488594
mov ecx, ebp
mov edx, eax
mov esi, ecx
cmp dx, 0x29
je 0x488590
lea edi, [ecx + 2]
mov dword [esp + 0x10], edi
mov ecx, edi
movzx eax, word [edi]
mov esi, edi
mov edx, eax
test ax, ax
jne 0x488573
mov edx, dword [esp + 0x40]
sub esi, ebp
sar esi, 1
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x1c]
cmp word [edi], 0x29
jne 0x48874b
xor ecx, ecx
mov ebp, 0x4ba088
mov dword [esp + 0x34], ecx
mov eax, dword [ebp]
cmp edx, eax
jne 0x488677
cmp dword [esp + 0x40], 0
jbe 0x4885e5
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, byte [ebx]
lea ebx, [ebx + 1]
dec edx
cmp cx, ax
jne 0x488668
test edx, edx
jne 0x4885c7
mov ecx, dword [esp + 0x34]
lea eax, [ecx + ecx*2]
mov ecx, dword [eax*4 + 0x4ba08c]
cmp ecx, 0x98
jne 0x48869b
cmp dword [esp + 0x18], 0
jne 0x48a006
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 0x20]
mov dword [eax + 0x58], 1
test ecx, ecx
je 0x488639
nop
mov eax, 0x9a
mov word [edx], ax
mov ax, word [ecx + 4]
mov word [edx + 2], ax
add edx, 4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x488620
mov ecx, dword [esp + 0x140]
xor eax, eax
mov ebx, 0xffffffff
cmp dword [ecx + 0x48], eax
setg al
add eax, 0x98
mov word [edx], ax
mov eax, dword [esp + 0x3c]
cmp eax, 0xfffffffe
cmove eax, ebx
mov dword [esp + 0x3c], eax
jmp 0x488735
mov eax, dword [ebp]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
inc ebx
inc ecx
add ebx, eax
mov dword [esp + 0x34], ecx
add ebp, 0xc
mov dword [esp + 0x24], ebx
cmp ebp, str.pL
jge 0x48874b
mov esi, dword [esp + 0x1c]
jmp 0x4885b5
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x4886d5
movzx eax, cx
mov edx, eax
test ecx, ecx
js 0x489fe3
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
mov word [esi], ax
mov eax, 0x94
cmp dx, ax
jne 0x4886cf
or dword [ecx + 0x50], 0x1000
mov edx, dword [esp + 0x5c]
jmp 0x488735
mov eax, dword [eax*4 + 0x4ba090]
movzx ecx, ax
mov edx, ecx
test eax, eax
js 0x48a006
mov esi, dword [esp + 0x14]
mov eax, 0x95
mov word [esi], cx
cmp dx, ax
jne 0x488708
mov eax, dword [esp + 0x140]
or dword [eax + 0x50], 0x1000
lea eax, [ebx + ebx]
mov word [esi + 2], bx
push eax
push dword [esp + 0x4c]
add esi, 4
push esi
mov dword [esp + 0x20], esi
call fcn.00498e20
mov ecx, dword [esp + 0x14c]
mov edx, esi
add esp, 0xc
lea edx, [edx + ebx*2]
xor eax, eax
mov word [edx], ax
mov edi, dword [esp + 0x10]
add edx, 2
cmp dword [esp + 0x34], 9
mov dword [esp + 0x14], edx
jl 0x489e65
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3c
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov ecx, dword [esp + 0x140]
cmp edx, 0x3f
jne 0x489123
add edi, 2
mov dword [esp + 0x10], edi
mov ebx, edi
movzx esi, word [edi]
mov edx, esi
lea eax, [esi - 0x21]
cmp eax, 0x5b
ja case.0x4887a3.47
movzx eax, byte [eax + 0x48a5a4]
mov dword [esp + 0x24], edi
jmp dword [eax*4 + 0x48a568]
lea ecx, [edi + 2]
mov edi, ecx
mov dword [esp + 0x10], edi
movzx eax, word [edi]
test ax, ax
je 0x4887d1
cmp ax, 0x29
je 0x4887c8
lea edi, [ecx + 2]
mov ecx, edi
jmp 0x4887af
cmp word [edi], bp
jne 0x489e5a
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x12
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov dword [esp + 0x18], 1
lea eax, [edi + 2]
mov dword [esp + 0x1c], 0x7d
mov edi, dword [esp + 0x18]
mov edx, 0x7d
mov dword [esp + 0x10], eax
jmp 0x489506
cmp word [edi + 2], 0x3f
mov dword [esp + 0x1c], 0x81
jne 0x488847
movzx eax, word [edi + 4]
cmp eax, 0x3d
je 0x489500
cmp eax, 0x21
je 0x489500
cmp eax, 0x3c
je 0x489500
mov ebx, dword [esp + 0x14]
mov eax, 0x87
mov dword [esp + 0x34], 2
mov dword [esp + 0x48], 0xffffffff
mov word [ebx + 4], ax
mov edi, dword [esp + 0x10]
movzx eax, word [edi + 2]
cmp eax, 0x52
jne 0x488896
cmp word [edi + 4], 0x26
lea ecx, [edi + 4]
jne 0x488896
mov dword [esp + 0x10], ecx
mov eax, 0x89
mov word [ebx + 4], ax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x40], 0xffffffff
jmp 0x4888dc
cmp eax, 0x3c
jne 0x4888ac
add edi, 2
mov dword [esp + 0x40], 0x3e
mov dword [esp + 0x10], edi
jmp 0x4888dc
cmp eax, 0x27
jne 0x4888be
add edi, 2
mov dword [esp + 0x40], eax
mov dword [esp + 0x10], edi
jmp 0x4888dc
xor ecx, ecx
mov dword [esp + 0x40], ecx
cmp eax, 0x2d
je 0x4888ce
cmp eax, 0x2b
jne 0x4888dc
add edi, 2
mov dword [esp + 0x10], edi
movzx eax, word [edi]
mov dword [esp + 0x48], eax
movzx eax, word [edi + 2]
lea ecx, [edi + 2]
mov edx, 0xff
mov dword [esp + 0x20], ecx
cmp ax, dx
ja 0x48a081
mov esi, dword [esp + 0x140]
mov ebp, dword [esi + 0xc]
test byte [eax + ebp], 0x10
je 0x48a081
mov edi, ecx
xor ebx, ebx
mov dword [esp + 0x10], edi
mov esi, 0xff
mov dword [esp + 0x28], ebx
mov edx, ecx
movzx eax, word [edi]
cmp ax, si
ja 0x488988
mov ebx, ecx
mov ecx, eax
nop dword [eax + eax]
movzx esi, cx
mov edx, ebx
test byte [esi + ebp], 0x10
je 0x488980
mov edx, dword [esp + 0x28]
test edx, edx
js 0x488966
cmp cx, 0x30
jb 0x48895e
cmp cx, 0x39
ja 0x48895e
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
lea edx, [esi + edx*2]
mov dword [esp + 0x28], edx
jmp 0x488966
mov dword [esp + 0x28], 0xffffffff
lea edi, [ebx + 2]
mov esi, 0xff
mov dword [esp + 0x10], edi
mov ebx, edi
movzx eax, word [edi]
mov edx, edi
mov ecx, eax
cmp ax, si
jbe 0x488930
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov esi, edx
sub esi, ecx
mov ecx, dword [esp + 0x40]
sar esi, 1
mov dword [esp + 0x24], esi
test ecx, ecx
jle 0x4889ae
movzx eax, word [edi]
lea edi, [edx + 2]
mov dword [esp + 0x10], edi
mov edx, edi
cmp eax, ecx
jne 0x48a05b
mov ax, word [edi]
lea edi, [edx + 2]
mov dword [esp + 0x10], edi
cmp ax, 0x29
jne 0x48a05b
cmp dword [esp + 0x144], 0
jne 0x488ae0
mov ecx, dword [esp + 0x48]
test ecx, ecx
jle 0x488a29
test ebx, ebx
jle 0x48a24f
mov eax, dword [esp + 0x140]
mov eax, dword [eax + 0x38]
cmp ecx, 0x2d
jne 0x4889f6
sub eax, ebx
lea ebx, [eax + 1]
jmp 0x4889f8
add ebx, eax
test ebx, ebx
jle 0x48a306
mov ecx, dword [esp + 0x140]
cmp ebx, dword [ecx + 0x3c]
jg 0x48a306
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov word [esi + 6], bx
jmp 0x489511
mov ecx, dword [esp + 0x140]
xor ebp, ebp
mov eax, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x28]
mov dword [esp + 0x48], eax
test eax, eax
jle 0x488ab5
cmp dword [esp + 0x24], 0
mov edx, esi
mov edi, dword [esp + 0x20]
lea esi, [ebx + 2]
jbe 0x488a71
movzx ecx, word [edi]
lea edi, [edi + 2]
movzx eax, word [esi]
lea esi, [esi + 2]
dec edx
cmp cx, ax
jne 0x488a95
test edx, edx
jne 0x488a50
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x140]
cmp ebp, eax
jge 0x488ab1
mov edx, dword [esp + 0x14]
mov ax, word [ebx]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
inc word [edx + 4]
mov word [edx + 6], ax
mov edx, dword [esp + 0x1c]
jmp 0x48950d
mov ecx, dword [esp + 0x140]
inc ebp
mov esi, dword [esp + 0x24]
mov eax, dword [ecx + 0x30]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x48]
cmp ebp, eax
jge 0x488ab5
jmp 0x488a40
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov edx, ebx
shr eax, 3
push ecx
and eax, 1
push eax
push esi
call fcn.00484410
add esp, 0xc
test eax, eax
jle 0x488aed
mov ecx, dword [esp + 0x14]
inc word [ecx + 4]
mov word [ecx + 6], ax
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
jmp 0x489502
cmp dword [esp + 0x40], 0
jne 0x48a302
cmp word [ebx], 0x52
jne 0x488b5a
xor ecx, ecx
lea edx, [ecx + 1]
cmp esi, edx
jle 0x488b37
nop word [eax + eax]
movzx esi, word [ebx + edx*2]
lea eax, [esi - 0x30]
cmp ax, 9
ja 0x48a302
lea ecx, [ecx + ecx*4]
mov eax, esi
inc edx
lea ecx, [ecx - 0x18]
lea ecx, [eax + ecx*2]
cmp edx, dword [esp + 0x24]
jl 0x488b10
test ecx, ecx
jne 0x488b3c
mov ecx, 0xffff
mov edx, dword [esp + 0x14]
mov eax, 0x89
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
mov word [edx + 4], ax
mov word [edx + 6], cx
jmp 0x489502
cmp esi, 6
jne 0x488ba0
mov edx, esi
mov esi, str.DEFINE
movzx ecx, word [ebx]
lea ebx, [ebx + 2]
movzx eax, byte [esi]
lea esi, [esi + 1]
dec edx
cmp cx, ax
jne 0x488ba0
test edx, edx
jne 0x488b66
mov esi, dword [esp + 0x14]
lea ebp, [edx + 1]
mov edx, dword [esp + 0x1c]
mov eax, 0x8b
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x140]
mov word [esi + 4], ax
jmp 0x489511
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x48a029
mov eax, dword [esp + 0x140]
cmp ecx, dword [eax + 0x3c]
jg 0x48a029
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov word [esi + 6], cx
mov ecx, eax
jmp 0x489511
mov ecx, dword [esp + 0x140]
lea eax, [edi + 2]
mov dword [esp + 0x1c], 0x77
mov edx, 0x77
mov dword [esp + 0x10], eax
mov edi, ebp
inc dword [ecx + 0x48]
jmp 0x48950d
mov ecx, dword [esp + 0x140]
lea eax, [edi + 2]
mov dword [esp + 0x10], eax
cmp word [eax], 0x29
jne 0x488c3e
mov edx, dword [esp + 0x14]
mov eax, 0x97
movsd xmm2, qword [esp + 0xe8]
xor ebp, ebp
mov dword [esp + 0x20], ebp
mov word [edx], ax
add edx, 2
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
add edi, 2
jmp 0x485dc1
inc dword [ecx + 0x48]
mov edx, 0x78
mov dword [esp + 0x1c], edx
mov edi, ebp
jmp 0x48950d
movzx eax, word [edi + 2]
mov ecx, eax
cmp ecx, 0x21
je 0x488d75
cmp eax, 0x3d
je 0x488d6b
mov edx, 0xff
cmp ax, dx
ja 0x48a0a7
mov eax, dword [esp + 0x140]
mov eax, dword [eax + 0xc]
test byte [ecx + eax], 0x10
je 0x48a0a7
mov edx, esi
lea esi, [edi + 2]
cmp dx, 0x3c
mov edi, esi
mov dword [esp + 0x34], esi
mov eax, 0x3e
mov dword [esp + 0x10], edi
mov ebx, 0x27
mov ecx, 0xff
cmove ebx, eax
mov ebp, esi
movzx eax, word [edi]
cmp ax, cx
ja 0x488cf9
mov esi, dword [esp + 0x140]
mov ecx, ebp
mov edx, eax
mov esi, dword [esi + 0xc]
nop dword [eax + eax]
movzx eax, dx
mov ebp, ecx
test byte [eax + esi], 0x10
je 0x488cf5
lea edi, [ecx + 2]
mov dword [esp + 0x10], edi
mov ecx, edi
movzx eax, word [edi]
mov ebp, edi
mov edx, eax
cmp ax, word [esp + 0xbc]
jbe 0x488cd0
mov esi, dword [esp + 0x34]
sub ebp, esi
sar ebp, 1
cmp dword [esp + 0x144], 0
mov dword [esp + 0x24], ebp
je 0x488f2a
movzx eax, word [edi]
cmp eax, ebx
jne 0x48a295
mov edx, dword [esp + 0x140]
mov ecx, dword [edx + 0x2c]
cmp ecx, 0x2710
jge 0x48a13a
lea eax, [ebp + 2]
cmp eax, dword [edx + 0x30]
jle 0x4890bf
mov dword [edx + 0x30], eax
cmp ebp, 0x20
jle 0x4890bf
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x30
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov dword [esp + 0x1c], 0x79
jmp 0x488d7d
mov dword [esp + 0x1c], 0x7a
mov ecx, dword [esp + 0x140]
lea eax, [edi + 4]
mov edx, dword [esp + 0x1c]
mov edi, ebp
mov dword [esp + 0x10], eax
inc dword [ecx + 0x48]
jmp 0x48950d
lea eax, [edi + 2]
mov dword [esp + 0x1c], 0x7b
mov dword [esp + 0x10], eax
mov edx, 0x7b
mov edi, ebp
jmp 0x489506
mov eax, dword [esp + 0x14]
mov ecx, 0x70
mov dword [esp + 0x6c], eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0xb0], 1
mov word [eax], cx
add eax, 2
mov ecx, dword [esp + 0x10]
lea edi, [ecx + 2]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
movzx eax, word [edi]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], ecx
cmp eax, 0x30
jb 0x488e29
mov esi, edi
mov edx, eax
nop dword [eax]
cmp dx, 0x39
ja 0x488e25
movzx eax, dx
lea ebx, [ebx + ebx*4]
lea edi, [esi + 2]
lea ebx, [ebx - 0x18]
mov dword [esp + 0x10], edi
mov esi, edi
lea ebx, [eax + ebx*2]
movzx eax, word [edi]
mov edx, eax
cmp eax, 0x30
jae 0x488e00
mov ecx, dword [esp + 0x5c]
movzx eax, word [edi]
cmp eax, 0x29
je 0x488e9b
test ax, ax
je 0x48a0d1
cmp eax, 0x3a
je 0x488e43
xor ebx, ebx
mov edi, ecx
lea ecx, [edi + 2]
mov dword [esp + 0x70], ecx
nop word [eax + eax]
add edi, 2
mov dword [esp + 0x10], edi
movzx eax, word [edi]
test ax, ax
je 0x48a0d1
cmp eax, 0x29
jne 0x488e50
cmp word [edi], bp
je 0x48a0d1
sub edi, ecx
push 0
sar edi, 1
push edi
push ecx
mov ecx, 0x4ddca0
call fcn.004216b0
mov ebp, eax
test ebp, ebp
je 0x48a0cd
cmp byte [ebp + 0x3d], 0
jne 0x48a0cd
mov edi, dword [esp + 0x10]
cmp ebx, 0xff
jg 0x48a0f4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
movsd xmm2, qword [esp + 0xe8]
mov word [edx], bx
mov dword [edx + 2], ebp
xor ebp, ebp
mov eax, dword [esp + 0x10]
sub eax, dword [ecx + 0x18]
sar eax, 1
inc eax
mov dword [esp + 0x20], ebp
mov word [edx + 6], ax
xor eax, eax
mov word [edx + 8], ax
add edx, 0xa
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
add edi, 2
jmp 0x485dc1
lea ecx, [edi + 2]
mov edi, ecx
mov dword [esp + 0x10], edi
movzx eax, word [edi]
cmp eax, 0x3d
je 0x488f14
cmp eax, 0x3e
je 0x488f14
cmp eax, 0x3c
jne 0x48a117
mov edx, eax
jmp case.0x4887a3.36
xor edx, edx
mov ebp, 0x29
cmp eax, 0x3e
sete dl
mov dword [esp + 0x34], edx
jmp 0x489834
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x40], ecx
mov ecx, eax
mov ebp, dword [eax + 0x28]
mov ebx, dword [ecx + 0x2c]
test ebx, ebx
jle 0x489050
mov eax, dword [esp + 0x24]
add eax, eax
mov dword [esp + 0x5c], eax
mov ecx, esi
lea edx, [ebp + 2]
mov esi, eax
sub esi, 4
jb 0x488f74
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x488f79
add ecx, 4
add edx, 4
sub esi, 4
jae 0x488f63
cmp esi, 0xfffffffc
je 0x488fad
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x488fa6
cmp esi, 0xfffffffd
je 0x488fad
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x488fa6
cmp esi, 0xfffffffe
je 0x488fad
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x488fa6
cmp esi, 0xffffffff
je 0x488fad
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x488fad
sbb eax, eax
or eax, 1
jmp 0x488faf
xor eax, eax
test eax, eax
jne 0x488fea
mov eax, dword [esp + 0x24]
cmp word [ebp + eax*2 + 2], 0
jne 0x489017
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0x38]
movzx eax, word [ebp]
inc ecx
cmp eax, ecx
je 0x488fe0
test dword [esp + 0x38], 0x80000
je 0x48a15d
mov dword [esp + 0x48], 1
jmp 0x488fec
js 0x489017
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x2c]
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, ebx
jge 0x489049
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x34]
jmp 0x488f57
mov eax, dword [esp + 0x140]
sub ebx, dword [esp + 0x40]
mov eax, dword [eax + 0x30]
imul ebx, eax
lea eax, [eax*2]
add eax, ebp
add ebx, ebx
push ebx
push ebp
push eax
call fcn.00498760
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x140]
cmp dword [esp + 0x48], 0
jne 0x489088
mov ebx, dword [ecx + 0x2c]
xor edx, edx
mov esi, dword [ecx + 0x28]
test ebx, ebx
jle 0x489088
nop dword [eax]
cmp esi, ebp
je 0x48907c
mov ecx, dword [ecx + 0x38]
movzx eax, word [esi]
inc ecx
cmp eax, ecx
je 0x48a180
mov ecx, dword [esp + 0x140]
jmp 0x48907d
dec edx
mov eax, dword [ecx + 0x30]
inc edx
lea esi, [esi + eax*2]
cmp edx, ebx
jl 0x489060
mov ax, word [ecx + 0x38]
mov ebx, dword [esp + 0x24]
inc ax
mov word [ebp], ax
lea eax, [ebx + ebx]
push eax
push dword [esp + 0x38]
lea eax, [ebp + 2]
push eax
call fcn.00498e20
add esp, 0xc
xor eax, eax
mov word [ebp + ebx*2 + 2], ax
mov eax, dword [esp + 0x140]
mov edi, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
lea eax, [ecx + 1]
add edi, 2
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x10], edi
mov dword [ecx + 0x2c], eax
mov esi, dword [esp + 0x14]
mov ebp, 1
inc dword [ecx + 0x38]
mov eax, dword [ecx + 0x38]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov word [esi + 4], ax
jmp 0x489511
mov ebp, 0x29
mov dword [esp + 0x34], 1
jmp 0x489834
lea eax, [edi + 2]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], 0x29
jmp 0x4892d2
test ebx, 0x1000
je 0x4890d3
mov edx, 0x7d
mov edi, ebp
mov dword [esp + 0x1c], edx
jmp 0x48950d
mov ebp, dword [esp + 0x12c]
mov edx, ebp
push 0
push dword [esp + 0x3c]
mov dword [esp + 0x78], edi
push dword [ecx + 0x38]
lea ecx, [esp + 0x1c]
call fcn.00483710
add esp, 0xc
mov ecx, eax
cmp dword [ebp], 0
jne 0x489ec6
test ecx, ecx
jns 0x489cdb
mov esi, ecx
neg esi
cmp esi, 0x1a
jne 0x4891a1
mov edi, dword [esp + 0x10]
cmp word [edi + 2], 0x5c
jne 0x489194
cmp word [edi + 4], 0x45
jne 0x489194
add edi, 4
jmp 0x489e5a
mov dword [esp + 0x64], 1
jmp 0x489e5a
cmp esi, 0x19
je 0x489cd2
mov edx, dword [esp + 0x3c]
cmp edx, 0xfffffffe
jne 0x4891c5
lea eax, [esi - 6]
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe edx, eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], eax
cmp esi, 0x1b
jne 0x4897dc
mov edi, dword [esp + 0x10]
mov ebp, 0x27
mov eax, dword [esp + 0x140]
add edi, 2
mov dword [esp + 0x10], edi
lea edx, [edi + 2]
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 0x24]
mov eax, 0x3e
cmp word [edi], 0x3c
mov dword [esp + 0x58], ecx
cmove ebp, eax
movzx eax, word [edx]
mov dword [esp + 0x60], ebp
cmp eax, 0x2b
je 0x489297
cmp eax, 0x2d
je 0x489297
movzx eax, word [edi + 2]
lea ebx, [edi + 2]
mov esi, 1
mov ecx, eax
test ax, ax
je 0x48927b
movzx edx, cx
cmp edx, ebp
je 0x489277
mov eax, 0xff
cmp cx, ax
ja 0x489275
mov eax, dword [esp + 0x140]
mov eax, dword [eax + 0xc]
mov cl, byte [edx + eax]
mov eax, 0
test cl, 4
cmovne eax, esi
mov esi, eax
mov edx, esi
test cl, 0x10
je 0x489277
movzx eax, word [ebx + 2]
add ebx, 2
mov ecx, eax
test ax, ax
jne 0x489233
jmp 0x489277
xor esi, esi
mov edx, dword [esp + 0x24]
movzx eax, word [ebx]
cmp eax, ebp
jne 0x489e4d
test esi, esi
jne 0x4892cc
mov dword [esp + 0x34], 1
jmp 0x489834
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
mov edx, eax
cmp eax, 0x30
jb 0x4892b9
cmp dx, 0x39
ja 0x4892b9
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
cmp eax, 0x30
jae 0x4892a5
movzx eax, word [ecx]
cmp eax, ebp
jne 0x489e4d
mov edx, dword [esp + 0x24]
mov dword [esp + 0x24], edx
mov edi, edx
mov dword [esp + 0x10], edi
movzx esi, word [edi]
mov ebp, esi
cmp esi, 0x2b
jne 0x489375
lea edi, [edx + 2]
mov dword [esp + 0x10], edi
movzx eax, word [edi]
cmp eax, 0x30
jb 0x48a1a3
cmp eax, 0x39
ja 0x48a1a3
mov dword [esp + 0x24], edi
movzx eax, word [edi]
xor ebx, ebx
cmp eax, 0x30
jb 0x48933b
mov edx, eax
nop dword [eax]
cmp dx, 0x39
ja 0x48933b
mov edi, dword [esp + 0x24]
lea ebx, [ebx + ebx*4]
movzx eax, dx
lea ebx, [ebx - 0x18]
add edi, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], edi
lea ebx, [eax + ebx*2]
movzx eax, word [edi]
mov edx, eax
cmp eax, 0x30
jae 0x489310
movzx eax, word [edi]
cmp eax, dword [esp + 0x60]
jne 0x48a272
cmp esi, 0x2d
jne 0x4897bc
test ebx, ebx
je 0x48a24f
mov ebp, dword [esp + 0x140]
mov eax, dword [ebp + 0x38]
sub eax, ebx
lea ebx, [eax + 1]
test ebx, ebx
jle 0x48a306
jmp 0x489a35
cmp esi, 0x2d
jne 0x489300
movzx eax, word [edi + 2]
mov ebx, edx
mov edx, esi
cmp eax, 0x30
jb case.0x4887a3.47
mov ecx, dword [esp + 0x24]
mov ebx, ecx
cmp eax, 0x39
ja case.0x4887a3.47
lea edi, [ecx + 2]
mov dword [esp + 0x10], edi
jmp 0x4892fc
xor eax, eax
lea ecx, [esp + 0x48]
xor ebp, ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x48], ebp
cmp dx, 0x29
je 0x48943d
mov esi, ebx
nop word [eax + eax]
mov ebx, esi
cmp dx, 0x3a
je 0x489435
movzx eax, dx
lea edi, [esi + 2]
sub eax, 0x2d
mov dword [esp + 0x10], edi
cmp eax, 0x4b
ja case.0x4893e5.46
movzx eax, byte [eax + 0x48a624]
jmp dword [eax*4 + 0x48a600]
lea ecx, [esp + 0x34]
jmp 0x489427
mov eax, dword [esp + 0x140]
or dword [ecx], 0x80000
or dword [eax + 0x50], 0x400
jmp 0x489427
or dword [ecx], 1
jmp 0x489427
or dword [ecx], 2
jmp 0x489427
or dword [ecx], 4
jmp 0x489427
or dword [ecx], 8
jmp 0x489427
or dword [ecx], 0x200
jmp 0x489427
or dword [ecx], 0x40
movzx eax, word [edi]
mov esi, edi
mov ebx, edi
mov edx, eax
cmp eax, 0x29
jne 0x4893c0
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
or ebp, dword [esp + 0x38]
not eax
mov ecx, dword [esp + 0x140]
and ebp, eax
cmp word [edi], 0x29
mov dword [esp + 0x60], ebp
jne 0x4894e8
mov eax, dword [ecx + 0x14]
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, eax
jne 0x48949f
mov eax, dword [esp + 0x144]
test eax, eax
je 0x489478
cmp dword [eax], 4
jne 0x48949f
mov eax, dword [esp + 0xd8]
movsd xmm2, qword [esp + 0xe8]
mov dword [ecx + 0x4c], ebp
mov dword [esp + 0x38], ebp
mov dword [eax], ebp
xor ebp, ebp
mov dword [esp + 0x20], ebp
add edi, 2
jmp 0x485dc1
movsd xmm2, qword [esp + 0xe8]
mov eax, ebp
shr eax, 9
and eax, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0xb4], eax
xor eax, 1
mov dword [esp + 0xb8], eax
mov eax, ebp
and eax, 1
shl eax, 0x1c
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xd8]
mov dword [eax], ebp
xor ebp, ebp
mov dword [esp + 0x20], ebp
add edi, 2
jmp 0x485dc1
xor edi, edi
mov dword [esp + 0x1c], 0x7d
lea eax, [ebx + 2]
xor ebp, ebp
mov dword [esp + 0x10], eax
lea edx, [edi + 0x7d]
jmp 0x48950d
mov edi, ebp
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x14]
mov word [esi], dx
mov ebx, dword [ecx + 0x54]
mov dword [esp + 0x20], esi
mov dword [esp + 0x4c], esi
mov esi, dword [ecx + 0x38]
mov dword [esp + 0x78], 0
cmp edx, 0x79
je 0x489538
cmp edx, 0x7a
je 0x489538
xor ecx, ecx
jmp 0x48953d
mov ecx, 1
cmp dword [esp + 0x144], 0
lea eax, [esp + 0x78]
mov dword [esp + 0x5c], 0
cmove eax, dword [esp + 0x5c]
push eax
push dword [esp + 0x144]
lea eax, [esp + 0xa4]
push dword [esp + 0x140]
push eax
lea eax, [esp + 0xb4]
push eax
xor eax, eax
cmp edx, 0x81
lea edx, [esp + 0x60]
sete al
add eax, dword [esp + 0x150]
push eax
push ebp
push edi
mov edi, dword [esp + 0x14c]
lea eax, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x84]
push edi
push eax
call fcn.0048a670
add esp, 0x2c
test eax, eax
je 0x489ec6
mov ebp, dword [esp + 0x1c]
cmp ebp, 0x7b
jne 0x489663
mov eax, dword [esp + 0x140]
cmp dword [eax + 0x38], esi
jg 0x4895d8
mov eax, dword [esp + 0x14]
mov ecx, 0x7c
mov word [eax], cx
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa4]
mov edi, dword [esp + 0x10]
cmp word [edi], 0x29
jne 0x48a22c
mov edx, dword [esp + 0x144]
test edx, edx
je 0x4896e8
mov esi, dword [esp + 0x78]
mov ecx, 0x7fffffeb
mov edx, dword [edx]
sub ecx, edx
lea eax, [esi - 4]
cmp ecx, eax
jl 0x48a38a
mov ecx, dword [esp + 0x144]
lea eax, [esi - 4]
mov ebp, dword [esp + 0x20]
add eax, edx
mov edx, dword [esp + 0x14]
mov ebx, 2
movsd xmm2, qword [esp + 0xe8]
mov dword [ecx], eax
mov ecx, dword [esp + 0x140]
mov dword [edx + 2], 0x720002
mov word [edx + 6], bx
add edx, 8
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
add edi, ebx
jmp 0x485dc1
cmp ebp, 0x7a
ja 0x489672
mov eax, dword [esp + 0x140]
dec dword [eax + 0x48]
cmp ebp, 0x81
jne 0x4895d8
cmp dword [esp + 0x144], 0
jne 0x4895d8
mov esi, dword [esp + 0x14]
xor edx, edx
mov ecx, esi
movzx eax, word [ecx + 2]
inc edx
cmp word [ecx + eax*2], 0x72
lea ecx, [ecx + eax*2]
jne 0x489694
mov eax, 0x8b
cmp word [esi + 4], ax
jne 0x4896be
cmp edx, 1
jg 0x48a1ec
mov ebp, eax
jmp 0x4895d8
cmp edx, 2
jg 0x48a20c
cmp edx, 1
jne 0x4895d8
or eax, 0xffffffff
or ecx, eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa4], ecx
jmp 0x4895e6
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
cmp ebp, 0x8b
je 0x4874e2
mov esi, dword [esp + 0x30]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xa8], 0
cmp ebp, 0x7b
jb 0x48978b
cmp esi, 0xfffffffe
jne 0x489750
test ecx, ecx
js 0x48973e
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xa8], 1
mov dword [esp + 0x2c], 0xffffffff
jmp 0x489763
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
jmp 0x489763
test ecx, ecx
js 0x489763
test eax, eax
jns 0x48976b
mov eax, ecx
or eax, ebx
mov dword [esp + 0x9c], eax
test eax, eax
js 0x4874e2
mov ecx, dword [esp + 0x140]
add edi, 2
mov ebp, dword [esp + 0x20]
movsd xmm2, qword [esp + 0xe8]
mov dword [esp + 0x30], eax
jmp 0x485dc1
cmp ebp, 0x77
jne 0x4874e2
test eax, eax
js 0x4874e2
mov ecx, dword [esp + 0x140]
add edi, 2
mov ebp, dword [esp + 0x20]
movsd xmm2, qword [esp + 0xe8]
mov dword [esp + 0x30], eax
jmp 0x485dc1
cmp ebp, 0x2b
jne 0x489a2e
test ebx, ebx
je 0x48a24f
mov ebp, dword [esp + 0x140]
add ebx, dword [ebp + 0x38]
jmp 0x489a35
cmp esi, 0x1c
jne 0x489b95
mov edi, dword [esp + 0x10]
movzx eax, word [edi + 2]
cmp eax, 0x3c
je 0x489808
cmp eax, 0x27
je 0x489808
cmp eax, 0x7b
je 0x489808
mov dword [ebp], 0x45
jmp 0x489e5a
add edi, 2
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], edi
movzx eax, word [edi]
cmp eax, 0x3c
jne 0x489824
lea ebp, [eax + 2]
jmp 0x489834
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
add edi, 2
mov edx, 0xff
mov dword [esp + 0x10], edi
mov ecx, edi
mov dword [esp + 0x40], ecx
mov ebx, ecx
movzx eax, word [edi]
cmp ax, dx
ja 0x489889
mov esi, dword [esp + 0x140]
mov edx, eax
mov esi, dword [esi + 0xc]
nop dword [eax]
movzx eax, dx
mov ebx, ecx
test byte [eax + esi], 0x10
je 0x489885
lea edi, [ecx + 2]
mov dword [esp + 0x10], edi
mov ecx, edi
movzx eax, word [edi]
mov ebx, edi
mov edx, eax
cmp ax, word [esp + 0xbc]
jbe 0x489860
mov ecx, dword [esp + 0x40]
sub ebx, ecx
sar ebx, 1
cmp dword [esp + 0x144], 0
je 0x4898ed
test ebx, ebx
je 0x48a2b8
movzx eax, word [edi]
cmp eax, ebp
jne 0x48a295
cmp ebx, 0x20
jg 0x488d48
mov eax, dword [esp + 0x38]
mov edx, ecx
mov ebp, dword [esp + 0x140]
push ecx
shr eax, 3
mov ecx, ebp
and eax, 1
mov esi, dword [ebp + 0x1c]
push eax
push ebx
mov dword [ebp + 0x1c], edi
call fcn.00484410
mov ebx, eax
mov dword [ebp + 0x1c], esi
add esp, 0xc
test ebx, ebx
jns 0x48997c
xor ebx, ebx
jmp 0x48997c
mov eax, dword [esp + 0x140]
mov dword [esp + 0x60], 0
cmp dword [eax + 0x2c], 0
mov ebp, dword [eax + 0x28]
jle 0x489952
lea esi, [ebp + 2]
mov edx, ebx
mov edi, ecx
test ebx, ebx
je 0x489926
movzx ecx, word [edi]
lea edi, [edi + 2]
movzx eax, word [esi]
lea esi, [esi + 2]
dec edx
cmp cx, ax
jne 0x489932
test edx, edx
jne 0x489910
cmp word [ebp + ebx*2 + 2], 0
je 0x489a1e
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + 0x30]
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x60]
inc eax
cmp eax, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x60], eax
jl 0x489905
mov eax, dword [esp + 0x38]
mov edx, ecx
mov ebp, dword [esp + 0x140]
push ecx
shr eax, 3
mov ecx, ebp
and eax, 1
push eax
push ebx
call fcn.00484410
mov ebx, eax
add esp, 0xc
test ebx, ebx
jle 0x48a302
cmp dword [esp + 0x34], 0
jne 0x489a35
mov edx, dword [esp + 0x3c]
cmp edx, 0xfffffffe
mov eax, 0xffffffff
mov esi, 1
mov ecx, ebx
cmove edx, eax
test byte [esp + 0x38], 1
mov dword [esp + 0x3c], edx
mov eax, 0
mov edx, dword [esp + 0x14]
setne al
add eax, 0x6d
mov ebp, edx
mov dword [esp + 0x20], ebp
mov word [edx], ax
mov eax, esi
mov word [edx + 2], bx
add edx, 4
shl eax, cl
cmp ebx, 0x20
mov ecx, dword [esp + 0x140]
cmovge eax, esi
mov dword [esp + 0x14], edx
or dword [ecx + 0x44], eax
cmp ebx, dword [ecx + 0x40]
jle 0x4899e5
mov dword [ecx + 0x40], ebx
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x489dd9
movzx eax, word [ecx + 4]
cmp eax, ebx
je 0x489ba6
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4899f0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
add edi, 2
movsd xmm2, qword [esp + 0xe8]
jmp 0x485dc1
movzx ebx, word [ebp]
mov ebp, dword [esp + 0x140]
jmp 0x48997c
mov ebp, dword [esp + 0x140]
cmp dword [esp + 0x144], 0
mov eax, dword [esp + 0x14]
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
jne 0x489b3b
xor ecx, ecx
mov word [eax], cx
test ebx, ebx
je 0x489a69
mov ecx, dword [ebp + 0x14]
push ebx
call fcn.004848b0
mov edi, eax
add esp, 4
mov eax, dword [esp + 0x14]
test edi, edi
jne 0x489ae4
mov eax, dword [esp + 0x38]
xor edx, edx
push ecx
shr eax, 3
mov ecx, ebp
and eax, 1
push eax
push ebx
call fcn.00484410
add esp, 0xc
test eax, eax
js 0x48a302
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x34]
lea edi, [eax + ebx*2]
mov eax, dword [ebp + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [ebp + 0x24], eax
jb 0x489ac3
mov ecx, ebp
call fcn.004835e0
mov ecx, dword [esp + 0x12c]
mov dword [ecx], eax
test eax, eax
jne 0x489ec6
mov edx, dword [esp + 0x14]
mov ecx, edx
sub ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x24]
add ecx, 2
sar ecx, 1
mov word [eax], cx
mov ecx, dword [esp + 0x140]
add dword [ecx + 0x24], 2
jmp 0x489b46
cmp word [edi + 2], 0
jne 0x489b3b
cmp dword [esp + 0x13c], 0
jg 0x489b3b
mov ecx, dword [esp + 0x138]
mov esi, ecx
test ecx, ecx
je 0x48a2db
nop word [eax + eax]
mov ecx, dword [esi + 4]
cmp ecx, edi
jb 0x48a2db
push ebp
push ecx
mov edx, eax
call fcn.00484a40
add esp, 8
test eax, eax
je 0x489b3b
mov esi, dword [esi]
test esi, esi
je 0x48a2db
mov eax, dword [esp + 0x14]
jmp 0x489b10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x140]
mov ebp, dword [esp + 0x20]
mov eax, 0x6f
mov word [edx], ax
sub edi, dword [ecx + 0x14]
sar edi, 1
mov word [edx + 2], di
add edx, 4
cmp dword [esp + 0x3c], 0xfffffffe
mov dword [esp + 0x14], edx
mov dword [esp + 0xa8], 0
jne 0x489de0
mov edi, dword [esp + 0x10]
movsd xmm2, qword [esp + 0xe8]
add edi, 2
mov dword [esp + 0x3c], 0xffffffff
jmp 0x485dc1
cmp esi, 0x23
jl 0x489bc6
mov ebx, 0xffffffdd
sub ebx, ecx
jmp 0x48998b
movsd xmm2, qword [esp + 0xe8]
mov word [ecx + 6], si
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x140]
add edi, 2
jmp 0x485dc1
cmp esi, 0xf
je 0x489c55
cmp esi, 0x10
je 0x489c55
mov edx, dword [esp + 0x14]
lea eax, [esi - 0x1d]
cmp eax, 5
ja 0x489c1e
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
add eax, 2
movsd xmm2, qword [esp + 0xe8]
mov dword [esp + 0x68], eax
lea eax, [ecx*4 + 0x74]
mov ecx, 0x4b91e8
sub ecx, eax
mov edi, dword [ecx]
mov ecx, dword [esp + 0x140]
sub edi, 2
add edi, 2
jmp 0x485dc1
movsd xmm2, qword [esp + 0xe8]
lea eax, [esi - 6]
xor ecx, ecx
mov word [edx], si
mov edi, dword [esp + 0x10]
add edx, 2
cmp eax, 0x10
mov dword [esp + 0x14], edx
mov ebp, ebx
cmova ebp, ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x20], ebp
add edi, 2
jmp 0x485dc1
lea eax, [esp + 0xe0]
push ebp
push eax
lea edx, [esp + 0xe4]
lea ecx, [esp + 0x18]
call fcn.00483df0
add esp, 8
test eax, eax
js 0x489ec6
mov ebx, dword [esp + 0x14]
xor ecx, ecx
movsd xmm2, qword [esp + 0xe8]
cmp esi, 0x10
mov ebp, ebx
sete cl
mov dword [esp + 0x20], ebp
xor edx, edx
cmp ecx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x140]
setne dl
add edx, 0xf
mov word [ebx], dx
mov edx, ebx
mov word [edx + 2], ax
mov ax, word [esp + 0xe0]
mov word [edx + 4], ax
add edx, 6
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edx
add edi, 2
jmp 0x485dc1
mov edi, dword [esp + 0x10]
jmp 0x489e5a
cmp ecx, 0xffff
jle 0x489d38
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
je 0x489d33
cmp ecx, 0x110000
jae 0x489d33
cmp ecx, 0xffff
jbe 0x489d38
add ecx, 0xffff0000
mov ebx, ecx
and ecx, 0x3ff
shr ebx, 0xa
or ebx, 0xd800
or ecx, 0xdc00
mov word [esp + 0xc0], bx
mov word [esp + 0xc2], cx
jmp 0x485fb8
mov ecx, 0xfffe
mov bx, cx
mov edx, 1
mov word [esp + 0xc0], bx
jmp 0x485fbd
mov ecx, dword [esp + 0x140]
mov esi, dword [esp + 0x3c]
cmp esi, 0xfffffffe
jne 0x489df5
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], 0xffffffff
cmp edx, 1
je 0x489da7
test eax, eax
je 0x489da7
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add edi, 2
movsd xmm2, qword [esp + 0xe8]
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
jmp 0x485dc1
movzx esi, bx
or esi, eax
cmp edx, 1
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], esi
je 0x489de0
movzx esi, word [edx - 2]
or esi, dword [ecx + 0x54]
mov edi, dword [esp + 0x10]
movsd xmm2, qword [esp + 0xe8]
add edi, 2
mov dword [esp + 0x30], esi
jmp 0x485dc1
mov ecx, dword [esp + 0x140]
mov edi, dword [esp + 0x10]
movsd xmm2, qword [esp + 0xe8]
add edi, 2
jmp 0x485dc1
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x50], ebx
cmp edx, 1
je 0x489e27
test eax, eax
je 0x489e27
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add edi, 2
movsd xmm2, qword [esp + 0xe8]
jmp 0x485dc1
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
movsd xmm2, qword [esp + 0xe8]
movzx esi, word [edx - 2]
or esi, dword [ecx + 0x54]
or esi, eax
add edi, 2
mov dword [esp + 0x30], esi
jmp 0x485dc1
mov eax, dword [esp + 0x12c]
mov dword [eax], 0x39
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add edi, 2
movsd xmm2, qword [esp + 0xe8]
jmp 0x485dc1
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1f
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 7
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov dword [eax], 0x47
mov esi, dword [esp + 0x128]
xor eax, eax
mov edi, dword [esp + 0x10]
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 8
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 6
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
cmp word [edi + 2], 0x3a
mov ecx, 0xd
mov esi, dword [esp + 0x128]
mov eax, 0x1f
cmove eax, ecx
mov ecx, dword [esp + 0x12c]
mov dword [esi], edi
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 5
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 4
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0xb
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 9
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x42
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3b
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x128]
test ecx, ecx
mov ecx, dword [esp + 0x12c]
mov eax, 0xf
mov edi, dword [esp + 0x10]
mov edx, 0x23
cmove eax, edx
mov dword [esi], edi
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
add edi, 0xfffffffe
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1a
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
add edi, 2
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1c
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
add edi, 2
mov esi, dword [esp + 0x128]
mov dword [eax], 0x18
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x27
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x26
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x29
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x31
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x2b
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x41
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3f
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
add edi, 0xfffffffe
mov esi, dword [esp + 0x128]
mov dword [eax], 0xc
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x128]
xor eax, eax
mov dword [edi], 0x36
mov edi, dword [esp + 0x10]
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x128]
xor eax, eax
mov dword [edi], 0x1b
mov edi, dword [esp + 0x10]
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0xe
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3a
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x1d
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x2a
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0x3e
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x10]
mov dword [eax], 0x28
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x128]
mov dword [eax], 0xf
xor eax, eax
mov dword [esi], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x128]
mov dword [eax], ecx
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x30]
mov dword [esi], edi
mov dword [eax], ecx
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x144]
mov dword [eax], edx
test ecx, ecx
je 0x48a37a
sub edx, dword [esp + 0xa0]
mov ebx, 0x7fffffeb
mov eax, dword [ecx]
sub ebx, eax
sar edx, 1
cmp ebx, edx
jl 0x48a391
add eax, edx
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov esi, dword [esp + 0x128]
mov eax, dword [esp + 0x12c]
mov dword [esi], edi
mov dword [eax], 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret
mov eax, dword [esp + 0x12c]
mov dword [eax], 0x34
mov esi, dword [esp + 0x128]
mov dword [esi], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret