Function at 0x481bc0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x98
push ebx
push ebp
mov ebp, dword [0x620318]
push esi
mov esi, dword [0x5f38ac]
mov ebx, 4
push edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x10], ebx
mov edx, 0x37
jmp 0x481bff
mov edi, dword [esp + 0xac]
mov esi, dword [0x5f38ac]
mov edx, 0x37
mov al, byte [edi + ebx + 0x18]
and eax, 0x3f
dec eax
cmp eax, 0x1f
ja case.0x481c10.2
jmp dword [eax*4 + 0x482ea0]
xor ecx, ecx
cmp ebp, 1
mov cx, word [edi + ebx + 0x19]
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov esi, 1
cmp ebp, esi
jle 0x481d88
mov edx, eax
lea eax, [edx + 2]
xor edx, edx
mov dx, word [eax]
cmp edx, ecx
je 0x481c5c
inc esi
add eax, 2
cmp esi, ebp
jl 0x481c46
jmp 0x481d88
test esi, esi
je 0x481d88
mov eax, dword [esp + 0xac]
xor edx, edx
mov al, byte [eax + ebx + 0x1b]
mov cl, al
and cl, 0x60
cmp cl, 0x20
jne 0x481c82
mov edx, 1
jmp 0x481c96
cmp cl, 0x40
jne 0x481c8c
or edx, 0xffffffff
jmp 0x481c96
cmp cl, 0x60
jne 0x481c96
mov edx, 0xffffff9b
and eax, 0x1f
push edx
push eax
push esi
call fcn.00439ad0
mov ebp, dword [0x620318]
add esp, 0xc
jmp 0x481d88
mov si, word [edi + ebx + 0x19]
lea edx, [edi + ebx + 0x19]
shr esi, 0xa
and esi, 0x1f
cmp esi, 0x20
jge 0x481d88
lea eax, [esi + esi*4]
lea ecx, [eax + eax*8]
lea eax, [esi + ecx*8]
lea edi, [eax*4 + 0x5c8500]
mov eax, dword [eax*4 + 0x5c8a1c]
test eax, eax
jne 0x481d88
mov eax, dword [esp + 0xac]
mov cl, byte [eax + ebx + 0x1b]
lea ebp, [eax + ebx + 0x1b]
shr ecx, 6
and ecx, 1
shl ecx, 3
mov dword [edi + 0x14c], ecx
mov cl, byte [ebp]
shr cl, 5
and cl, 1
shl cl, 1
dec cl
mov byte [edi + 0x45], cl
mov eax, dword [eax + ebx + 0x1c]
mov dx, word [edx]
mov ecx, eax
shr eax, 0x10
shl eax, 0x10
mov dword [esp + 0x14], eax
lea eax, [esi + 0x20]
and edx, 0x3ff
and ecx, 0xffff
shl eax, 0xa
add edx, eax
mov al, byte [ebp]
mov bl, al
and ebx, 0x1f
mov ebp, ebx
shl ecx, 0x10
cmp ebp, 9
jge 0x481d64
shr al, 7
mov byte [edi + ebp + 0x428], al
and eax, 0xff
mov dword [edi + 0x148], ebp
jmp 0x481d6c
xor eax, eax
mov dword [edi + 0x148], eax
push eax
push ebp
push edx
mov edx, dword [esp + 0x20]
push esi
push edx
push ecx
call fcn.00427bb0
add esp, 0x18
mov ebp, dword [0x620318]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xac]
mov cl, byte [eax + ebx + 0x18]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x4f2338]
mov ecx, dword [eax + 0x14]
add ebx, edx
cmp ebx, ecx
mov dword [esp + 0x10], ebx
jb 0x481bed
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret
xor eax, eax
xor ecx, ecx
mov al, byte [edi + ebx + 0x19]
mov cl, byte [edi + ebx + 0x1b]
mov esi, eax
mov ebp, ecx
cmp esi, 0x20
jge 0x481de3
movsx edx, byte [edi + ebx + 0x1a]
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea ecx, [esi + eax*8]
mov dword [ecx*4 + 0x5c8a30], edx
cmp ebp, 0x20
jge 0x481dff
movsx edx, byte [edi + ebx + 0x1c]
lea eax, [ebp + ebp*4]
lea eax, [eax + eax*8]
lea ecx, [ebp + eax*8]
mov dword [ecx*4 + 0x5c8a30], edx
cmp esi, 0x20
jge 0x481e42
cmp ebp, 0x20
jge 0x481e32
lea eax, [esi + esi*4]
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
shl eax, 2
mov byte [eax + 0x5c853e], 0
mov dword [eax + 0x5c86a4], 0x46
mov dword [eax + 0x5c8624], 0
jmp 0x481e42
lea eax, [esi + 0x8000]
push eax
push esi
call fcn.0042af20
add esp, 8
push esi
push ebp
call fcn.004830f0
mov ebp, dword [0x620318]
add esp, 8
jmp 0x481d88
xor eax, eax
mov al, byte [edi + ebx + 0x19]
cmp eax, 0x20
jge 0x481d88
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov eax, dword [esp + 0xac]
mov cl, byte [eax + ebx + 0x1a]
mov byte [edx*4 + 0x5c853a], cl
jmp 0x481d88
cmp ebp, 1
jle 0x481ec7
test esi, esi
je 0x481ec7
mov eax, 1
cmp ebp, eax
jle 0x481ec7
mov dx, word [edi + ebx + 0x19]
lea ecx, [esi + 2]
cmp word [ecx], dx
je 0x481eaf
inc eax
add ecx, 2
cmp eax, ebp
jl 0x481ea0
jmp 0x481ec7
test eax, eax
je 0x481ec7
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x41], 0xa
mov ebp, dword [0x620318]
xor eax, eax
mov al, byte [edi + ebx + 0x1b]
cmp eax, 0x20
jge 0x481d88
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov eax, dword [esp + 0xac]
mov cl, byte [eax + ebx + 0x1c]
mov byte [edx*4 + 0x5c853a], cl
jmp 0x481d88
xor ecx, ecx
xor eax, eax
mov cx, word [edi + ebx + 0x19]
mov dword [esp + 0x10], eax
cmp ecx, 0x8000
jl 0x481f24
lea eax, [ecx - 0x8000]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
add eax, 0x8000
jmp 0x481f52
cmp ebp, 1
jle 0x481f56
test esi, esi
je 0x481f56
mov edx, 1
cmp ebp, edx
jle 0x481f56
lea eax, [esi + 2]
xor esi, esi
mov si, word [eax]
cmp esi, ecx
je 0x481f50
inc edx
add eax, 2
cmp edx, ebp
jl 0x481f39
mov eax, dword [esp + 0x10]
jmp 0x481f56
mov eax, edx
mov dword [esp + 0x10], eax
mov dl, byte [edi + ebx + 0x1b]
lea esi, [edi + ebx + 0x1b]
and edx, 0x1f
mov dword [esp + 0x14], esi
mov esi, edx
cmp esi, 0x20
jge 0x481fb5
test byte [edi + ebx + 0x1c], 2
je 0x481f84
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea ecx, [esi + eax*8]
mov byte [ecx*4 + 0x5c853a], 0
mov edx, dword [esp + 0x10]
push edx
push esi
call fcn.0042af20
mov eax, dword [esp + 0x1c]
mov ebp, dword [0x620318]
add esp, 8
mov cl, byte [eax]
lea eax, [esi + esi*4]
shr cl, 5
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
mov byte [eax*4 + 0x5c853e], cl
mov eax, dword [esp + 0x10]
test eax, eax
je 0x481d88
cmp eax, 0x8000
jge 0x481d88
mov ecx, dword [esp + 0xac]
test byte [ecx + ebx + 0x1c], 1
je 0x481d88
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x41], 0xa
mov ebp, dword [0x620318]
jmp 0x481d88
mov al, byte [edi + ebx + 0x19]
and eax, 0x1f
cmp eax, 0x20
jge 0x481d88
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov eax, dword [edx*4 + 0x5c8970]
test eax, eax
lea esi, [edx*4 + 0x5c8500]
jle 0x481d88
add eax, 0xfffffea2
mov ecx, 0xffffff2e
test eax, eax
mov dword [esi + 0x1a8], ecx
mov dword [esi + 0x1ac], ecx
mov dword [esi + 0x124], 0
mov dword [esi + 0x470], eax
jg 0x481d7e
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push 0
push 0
push 0x9b
push eax
push ecx
call fcn.00477d10
mov dword [esi + 0x470], 0xffffffff
mov ebp, dword [0x620318]
add esp, 0x14
jmp 0x481d88
mov al, byte [edi + ebx + 0x19]
lea esi, [edi + ebx + 0x19]
xor edx, edx
and eax, 0x1f
mov dl, byte [edi + ebx + 0x1a]
add edx, 0x8000
push edx
push eax
call fcn.0042af20
mov al, byte [esi]
add esp, 8
mov cl, al
mov ebp, dword [0x620318]
shr cl, 5
and eax, 0x1f
lea esi, [eax + eax*4]
lea edx, [esi + esi*8]
lea eax, [eax + edx*8]
mov byte [eax*4 + 0x5c853e], cl
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov eax, 1
cmp ebp, eax
jle 0x481d88
mov ecx, dword [esp + 0xac]
mov dx, word [ecx + ebx + 0x19]
mov ecx, dword [0x5f38ac]
add ecx, 2
cmp word [ecx], dx
je 0x48210e
inc eax
add ecx, 2
cmp eax, ebp
jl 0x4820fc
jmp 0x481d88
test eax, eax
je 0x481d88
push eax
call fcn.0042fed0
mov ebp, dword [0x620318]
add esp, 4
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov eax, 1
cmp ebp, eax
jle 0x481d88
mov edx, dword [esp + 0xac]
mov ecx, dword [0x5f38ac]
add ecx, 2
mov dx, word [edx + ebx + 0x19]
cmp word [ecx], dx
je 0x482174
inc eax
add ecx, 2
cmp eax, ebp
jl 0x482162
jmp 0x481d88
test eax, eax
je 0x481d88
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x41], 3
mov ecx, dword [0x5adec0]
mov byte [eax + ecx + 0x3e], 0xff
mov ebp, dword [0x620318]
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov eax, 1
cmp ebp, eax
jle 0x481d88
mov edx, dword [esp + 0xac]
mov ecx, dword [0x5f38ac]
add ecx, 2
mov dx, word [edx + ebx + 0x19]
cmp word [ecx], dx
je 0x4821ea
inc eax
add ecx, 2
cmp eax, ebp
jl 0x4821d8
jmp 0x481d88
test eax, eax
je 0x481d88
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x3c], 0
mov ecx, dword [0x5adec0]
mov dword [eax + ecx], fcn.00401630
mov ebp, dword [0x620318]
jmp 0x481d88
cmp ebp, 1
jle 0x482266
test esi, esi
je 0x482266
mov eax, 1
cmp ebp, eax
jle 0x482266
mov dx, word [edi + ebx + 0x19]
lea ecx, [esi + 2]
cmp word [ecx], dx
je 0x482241
inc eax
add ecx, 2
cmp eax, ebp
jl 0x482232
jmp 0x482266
test eax, eax
je 0x482266
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x3c], 0
mov ecx, dword [0x5adec0]
mov dword [eax + ecx], fcn.00401630
mov ebp, dword [0x620318]
xor edx, edx
xor eax, eax
mov al, byte [edi + ebx + 0x1b]
mov dl, byte [edi + ebx + 0x1c]
lea esi, [eax + eax*4]
lea ecx, [esi + esi*8]
lea eax, [eax + ecx*8]
mov dword [eax*4 + 0x5c88d8], edx
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov eax, 1
cmp ebp, eax
jle 0x481d88
mov ecx, dword [esp + 0xac]
mov dx, word [ecx + ebx + 0x19]
mov ecx, dword [0x5f38ac]
add ecx, 2
cmp word [ecx], dx
je 0x4822d1
inc eax
add ecx, 2
cmp eax, ebp
jl 0x4822bf
jmp 0x481d88
test eax, eax
je 0x481d88
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x41], 0xa
mov ebp, dword [0x620318]
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov esi, 1
cmp ebp, esi
jle 0x481d88
mov eax, dword [esp + 0xac]
mov edx, dword [0x5f38ac]
mov cx, word [eax + ebx + 0x19]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x48233c
inc esi
add eax, 2
cmp esi, ebp
jl 0x48232a
jmp 0x481d88
test esi, esi
je 0x481d88
mov ecx, dword [esp + 0xac]
xor eax, eax
push esi
mov al, byte [ecx + ebx + 0x1b]
push eax
call fcn.0042af20
mov edx, dword [0x5adec0]
add esp, 8
shl esi, 7
mov byte [esi + edx + 0x41], 0xa
mov ebp, dword [0x620318]
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov esi, 1
cmp ebp, esi
jle 0x481d88
mov eax, dword [esp + 0xac]
mov edx, dword [0x5f38ac]
mov cx, word [eax + ebx + 0x19]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x4823be
inc esi
add eax, 2
cmp esi, ebp
jl 0x4823ac
jmp 0x481d88
test esi, esi
je 0x481d88
push 1
push esi
call fcn.00401010
mov eax, dword [0x5adec0]
add esp, 8
shl esi, 7
mov byte [esi + eax + 0x46], 5
mov ecx, dword [0x5adec0]
mov byte [esi + ecx + 0x41], 0xa
mov ebp, dword [0x620318]
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov esi, 1
cmp ebp, esi
jle 0x481d88
mov edx, dword [esp + 0xac]
add eax, 2
mov cx, word [edx + ebx + 0x19]
cmp word [eax], cx
je 0x482438
inc esi
add eax, 2
cmp esi, ebp
jl 0x482426
jmp 0x481d88
test esi, esi
je 0x481d88
push 1
push esi
call fcn.00401010
push esi
call fcn.0042fed0
mov ebp, dword [0x620318]
add esp, 0xc
jmp 0x481d88
xor ecx, ecx
mov cl, byte [edi + ebx + 0x19]
mov eax, ecx
shr ecx, 5
and ecx, 3
and eax, 0x1f
sub ecx, 0
je 0x4824b9
dec ecx
je 0x4824a0
dec ecx
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
je 0x48248d
lea eax, [eax + ecx*8]
mov dword [eax*4 + 0x5c897c], edx
jmp 0x481d88
lea edx, [eax + ecx*8]
mov dword [edx*4 + 0x5c897c], 0x3d
jmp 0x481d88
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov dword [edx*4 + 0x5c897c], 0x59
jmp 0x481d88
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*8]
mov dword [eax*4 + 0x5c897c], edx
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov ecx, 1
cmp ebp, ecx
jle 0x481d88
mov edx, dword [esp + 0xac]
lea esi, [eax + 2]
mov eax, esi
mov dx, word [edx + ebx + 0x19]
cmp word [eax], dx
je 0x482514
inc ecx
add eax, 2
cmp ecx, ebp
jl 0x482502
jmp 0x481d88
test ecx, ecx
je 0x481d88
mov eax, dword [esp + 0xac]
xor edx, edx
mov dx, word [eax + ebx + 0x1b]
cmp edx, 0x8000
jl 0x482580
lea eax, [edx - 0x8000]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
add eax, 0x8000
test eax, eax
je 0x481d88
mov esi, dword [0x5adec0]
shl ecx, 7
add ecx, esi
cmp eax, 0x8000
mov dword [ecx + 0x50], eax
jge 0x48259b
mov edx, dword [0x5adec0]
shl eax, 7
mov eax, dword [eax + edx]
mov dword [ecx + 0x54], eax
mov ebp, dword [0x620318]
jmp 0x481d88
mov eax, 1
xor edi, edi
mov di, word [esi]
cmp edi, edx
je 0x482549
inc eax
add esi, 2
cmp eax, ebp
jl 0x482585
jmp 0x481d88
mov dword [ecx + 0x54], 0
mov ebp, dword [0x620318]
jmp 0x481d88
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov eax, 1
cmp ebp, eax
jle 0x481d88
mov ecx, dword [esp + 0xac]
mov dx, word [ecx + ebx + 0x19]
mov ecx, dword [0x5f38ac]
add ecx, 2
cmp word [ecx], dx
je 0x4825f7
inc eax
add ecx, 2
cmp eax, ebp
jl 0x4825e5
jmp 0x481d88
test eax, eax
je 0x481d88
mov edx, dword [0x5adec0]
mov ecx, dword [esp + 0xac]
shl eax, 7
add eax, edx
xor edx, edx
mov dl, byte [ecx + ebx + 0x1b]
mov ecx, dword [eax + 0x64]
or ecx, edx
mov dword [eax + 0x64], ecx
mov ebp, dword [0x620318]
jmp 0x481d88
mov edi, dword [esp + 0xac]
mov eax, dword [edi + ebx + 0x19]
mov esi, eax
shr eax, 5
and eax, 0x7ff
and esi, 0x1f
push eax
call fcn.00491bd0
mov eax, dword [edi + ebx + 0x19]
mov ecx, dword [esp + 0xb0]
mov ebp, eax
add esp, 4
shr eax, 0x1a
and eax, 0x1f
mov dword [esp + 0x18], eax
mov al, byte [edi + ebx + 0x21]
mov dl, al
movsx eax, al
sar eax, 4
shl dl, 4
shl eax, 0x11
movsx edi, dl
mov dword [esp + 0x20], eax
xor edx, edx
mov dx, word [ecx + ebx + 0x1f]
xor eax, eax
mov ax, word [ecx + ebx + 0x1d]
mov ecx, edx
shr ebp, 0x10
sar edi, 4
and ebp, 0x3ff
shl edi, 0xc
shl eax, 0x10
shl ecx, 0x10
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
jmp 0x4826ba
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
lea edx, [esi + 0x8000]
push edx
push 0x3f
push ecx
push eax
call fcn.0042fdc0
add esp, 0x10
test eax, eax
jle 0x4827c7
mov ecx, dword [0x62bdd0]
mov dl, cl
sub cl, 0x2c
add dl, 4
and ecx, 0xff
and edx, 0xff
mov ecx, dword [ecx + 0x62c040]
mov dword [0x62bdd0], edx
mov ebx, dword [edx + 0x62c040]
xor ebx, ecx
and ecx, 0x3f
imul ecx, edi
mov edi, dword [0x5adec0]
mov dword [edx + 0x62c040], ebx
mov edx, eax
shl edx, 7
mov dword [edx + edi + 0x14], ecx
mov ecx, dword [0x62bdd0]
mov bl, cl
sub cl, 0x2c
add bl, 4
and ecx, 0xff
and ebx, 0xff
mov ecx, dword [ecx + 0x62c040]
mov edi, ebx
mov dword [0x62bdd0], edi
mov ebx, dword [edi + 0x62c040]
xor ebx, ecx
and ecx, 0x7fff
mov dword [edi + 0x62c040], ebx
mov edi, dword [esp + 0x20]
shl ecx, 4
sub edi, ecx
mov ecx, dword [0x5adec0]
mov dword [edx + ecx + 0x18], edi
mov ecx, dword [0x5adec0]
mov byte [edx + ecx + 0x40], 6
mov ecx, dword [0x5adec0]
mov dword [edx + ecx], 0x404050
lea edx, [esi + 0x20]
mov ecx, ebp
shl edx, 0xa
and ecx, 0x3ff
add edx, ecx
mov ecx, dword [0x5f38ac]
inc ebp
mov word [ecx + eax*2], dx
lea eax, [esi + esi*4]
lea edx, [eax + eax*8]
lea eax, [esi + edx*8]
mov ecx, dword [eax*4 + 0x5c88d8]
dec ecx
mov dword [eax*4 + 0x5c88d8], ecx
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x18], eax
jne 0x4826ae
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea esi, [esi + eax*8]
mov eax, dword [esi*4 + 0x5c88d8]
test eax, eax
jge 0x481d7e
mov dword [esi*4 + 0x5c88d8], 0
jmp 0x481d7e
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov eax, 1
cmp ebp, eax
jle 0x481d88
mov ecx, dword [esp + 0xac]
mov dx, word [ecx + ebx + 0x19]
mov ecx, dword [0x5f38ac]
add ecx, 2
cmp word [ecx], dx
je 0x482839
inc eax
add ecx, 2
cmp eax, ebp
jl 0x482827
jmp 0x481d88
test eax, eax
je 0x481d88
mov ebx, dword [0x5adec0]
mov esi, dword [esp + 0x10]
shl eax, 7
add eax, ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x20], eax
xor eax, eax
mov ax, word [ebx + esi + 0x1b]
mov ecx, eax
shr eax, 5
and ecx, 0x1f
push eax
mov dword [esp + 0x1c], ecx
call fcn.00491bd0
xor edx, edx
xor eax, eax
mov dx, word [ebx + esi + 0x21]
mov ax, word [ebx + esi + 0x1d]
xor ebp, ebp
mov ecx, eax
mov bp, word [ebx + esi + 0x1f]
mov ebx, edx
push 0
push 0
shr eax, 0xa
shl ebx, 0x10
shl ebp, 0x10
push 0x69
and ecx, 0x3ff
and eax, 0x1f
push ebx
push ebp
mov dword [esp + 0x34], ecx
mov edi, eax
call fcn.00477d10
add esp, 0x18
test edi, edi
jle 0x482a47
mov dword [esp + 0x14], edi
mov ecx, dword [0x62bdd0]
mov al, cl
sub cl, 0x2c
add al, 4
and ecx, 0xff
and eax, 0xff
mov ecx, dword [ecx + 0x62c040]
mov edx, dword [eax + 0x62c040]
xor edx, ecx
and ecx, 0x7fff
mov dword [eax + 0x62c040], edx
mov dl, al
add dl, 4
sub al, 0x2c
and edx, 0xff
and eax, 0xff
mov dword [0x62bdd0], edx
mov eax, dword [eax + 0x62c040]
mov edi, dword [edx + 0x62c040]
xor edi, eax
and eax, 0x7fff
mov dword [edx + 0x62c040], edi
mov edx, dword [esp + 0x18]
add edx, 0x8000
sub eax, 0x3fff
push edx
mov edx, ebx
shl ecx, 4
shl eax, 4
sub edx, ecx
push 0x19
add eax, ebp
push edx
push eax
call fcn.0042fdc0
mov edi, eax
add esp, 0x10
test edi, edi
jle 0x482a38
mov eax, dword [0x5adec0]
mov edx, dword [0x62bdd0]
mov ecx, edi
shl ecx, 7
add ecx, eax
mov al, dl
add al, 4
sub dl, 0x2c
and eax, 0xff
and edx, 0xff
mov esi, eax
mov edx, dword [edx + 0x62c040]
mov dword [0x62bdd0], esi
mov eax, dword [esi + 0x62c040]
xor eax, edx
and edx, 0x7fff
sub edx, 0x3fff
mov dword [esi + 0x62c040], eax
shl edx, 5
mov dword [ecx + 0x14], edx
mov edx, dword [0x62bdd0]
mov al, dl
sub dl, 0x2c
add al, 4
and edx, 0xff
and eax, 0xff
mov edx, dword [edx + 0x62c040]
mov esi, eax
mov dword [0x62bdd0], esi
mov eax, dword [esi + 0x62c040]
xor eax, edx
and edx, 0x7fff
neg edx
shl edx, 4
mov dword [esi + 0x62c040], eax
mov dword [ecx + 0x18], edx
cmp dword [0x5c8188], 4
jne 0x482a06
mov byte [ecx + 0x40], 6
mov dword [ecx], 0x404050
mov dword [ecx + 0x58], 0x11
jmp 0x482a11
mov dword [ecx + 0x58], 0x11
mov byte [ecx + 0x40], 6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add ecx, 0x20
mov edx, eax
shl ecx, 0xa
and edx, 0x3ff
add ecx, edx
mov edx, dword [0x5f38ac]
inc eax
mov word [edx + edi*2], cx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
dec eax
mov dword [esp + 0x14], eax
jne 0x4828c1
mov eax, dword [esp + 0x20]
mov byte [eax + 0x41], 0x11
jmp 0x481d7e
cmp ebp, 1
jle 0x481d88
mov eax, dword [0x5f38ac]
test eax, eax
je 0x481d88
mov edi, 1
cmp ebp, edi
jle 0x481d88
mov ecx, dword [esp + 0xac]
mov edx, eax
mov cx, word [ecx + ebx + 0x19]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x482a9a
inc edi
add eax, 2
cmp edi, ebp
jl 0x482a88
jmp 0x481d88
test edi, edi
je 0x481d88
mov eax, dword [0x5adec0]
mov edx, edi
shl edx, 7
add edx, eax
mov eax, dword [esp + 0xac]
xor ecx, ecx
mov cl, byte [eax + ebx + 0x1b]
mov esi, ecx
mov eax, ecx
shr esi, 5
and esi, 3
and eax, 0x1f
shr ecx, 7
test esi, esi
jne 0x482ad5
mov byte [edx + 0x41], 0x11
jmp 0x482afa
cmp esi, 1
jne 0x482ae0
mov byte [edx + 0x41], 3
jmp 0x482afa
cmp esi, 2
jne 0x482b00
lea esi, [eax + eax*4]
inc edi
mov byte [edx + 0x41], 0x1d
lea esi, [esi + esi*8]
lea esi, [eax + esi*8]
mov dword [esi*4 + 0x5c8588], edi
mov ebp, dword [0x620318]
test ecx, ecx
jne 0x481d88
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea ecx, [eax + ecx*8]
xor eax, eax
mov dword [ecx*4 + 0x5c8588], eax
mov dword [edx + 0x50], eax
mov ebp, dword [0x620318]
jmp 0x481d88
movsx eax, byte [edi + ebx + 0x1b]
cmp eax, dword [0x5c7d60]
je 0x482b7e
mov dword [0x5c7d60], eax
mov eax, dword [0x59e064]
test eax, eax
je 0x482b7e
mov edi, dword [0x5f4dd0]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
push ecx
call fcn.00483060
mov edi, dword [esp + 0xb0]
add esp, 4
movsx eax, byte [edi + ebx + 0x1c]
cmp eax, dword [0x5c7d64]
je 0x482bd4
mov dword [0x5c7d64], eax
mov eax, dword [0x59e064]
test eax, eax
je 0x482bd4
mov edi, dword [0x5f4dd4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
push ecx
call fcn.00483060
mov edi, dword [esp + 0xb0]
add esp, 4
mov edx, dword [0x5c7d60]
mov eax, dword [0x5f37f0]
cmp edx, eax
mov dword [0x59e064], 1
jl 0x482c17
mov eax, 0x5c8a4c
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x482c0b
mov ecx, dword [eax - 0x30]
test ecx, ecx
je 0x482c0b
cmp dword [eax], 0
jne 0x482c0b
mov dword [eax], 1
add eax, 0x5a4
cmp eax, 0x5d3ecc
jl 0x482bf2
mov ebp, dword [0x5e9ee0]
mov ecx, dword [0x5adec0]
mov eax, ebp
mov esi, 0x5c8a7c
shl eax, 7
add eax, ecx
xor ecx, ecx
mov cl, byte [edi + ebx + 0x19]
mov edx, ecx
and edx, 0x1f
shr ecx, 5
cmp dword [esi], ebp
jne 0x482c47
mov dword [esi], 0
add esi, 0x5a4
cmp esi, 0x5d3efc
jl 0x482c3d
cmp ecx, 1
jne 0x482ca6
lea ecx, [edx + edx*4]
mov byte [eax + 0x41], 8
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*8]
add edx, 0x8000
shl ecx, 2
mov dword [ecx + 0x5c8a7c], ebp
mov esi, dword [eax + 0x50]
cmp esi, edx
je 0x482cc3
mov dword [eax + 0x50], edx
mov eax, dword [0x5f4d90]
lea edx, [ecx + 0x5c8548]
lea ecx, [esp + 0x28]
push edx
push eax
push ecx
call fcn.004b57c2
lea edx, [esp + 0x34]
push edx
call fcn.00483060
add esp, 0x10
jmp 0x482cc3
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
add edx, 0x100000
mov byte [eax + 0x41], 1
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x50], 0
mov ebp, dword [0x5e9ee4]
mov ecx, dword [0x5adec0]
mov eax, ebp
mov esi, 0x5c8a7c
shl eax, 7
add eax, ecx
xor ecx, ecx
mov cl, byte [edi + ebx + 0x1a]
mov edx, ecx
and edx, 0x1f
shr ecx, 5
cmp dword [esi], ebp
jne 0x482cf3
mov dword [esi], 0
add esi, 0x5a4
cmp esi, 0x5d3efc
jl 0x482ce9
cmp ecx, 1
jne 0x482d5f
lea ecx, [edx + edx*4]
mov byte [eax + 0x41], 8
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*8]
add edx, 0x8000
shl ecx, 2
mov dword [ecx + 0x5c8a7c], ebp
mov esi, dword [eax + 0x50]
cmp esi, edx
je 0x481d7e
mov dword [eax + 0x50], edx
mov eax, dword [0x5f4d90]
lea edx, [ecx + 0x5c8548]
lea ecx, [esp + 0x28]
push edx
push eax
push ecx
call fcn.004b57c2
lea edx, [esp + 0x34]
push edx
call fcn.00483060
mov ebp, dword [0x620318]
add esp, 0x10
jmp 0x481d88
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
add edx, 0x100000
mov byte [eax + 0x41], 1
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x50], 0
mov ebp, dword [0x620318]
jmp 0x481d88
cmp ebp, 1
jle 0x482dae
test esi, esi
je 0x482dae
mov eax, 1
cmp ebp, eax
jle 0x482dae
mov dx, word [edi + ebx + 0x19]
lea ecx, [esi + 2]
cmp word [ecx], dx
je 0x482e12
inc eax
add ecx, 2
cmp eax, ebp
jl 0x482da1
xor eax, eax
xor ecx, ecx
mov ax, word [edi + ebx + 0x1d]
mov cx, word [edi + ebx + 0x1b]
push 0x8000
push 0x3f
shl eax, 0x10
shl ecx, 0x10
push eax
push ecx
call fcn.0042fdc0
add esp, 0x10
test eax, eax
jle 0x481d7e
mov edx, dword [0x5adec0]
mov ecx, eax
shl ecx, 7
mov byte [ecx + edx + 0x40], 6
mov edx, dword [0x5adec0]
mov dword [ecx + edx], 0x404050
mov edx, dword [0x5f38ac]
mov cx, word [edi + ebx + 0x19]
mov word [edx + eax*2], cx
mov ebp, dword [0x620318]
jmp 0x481d88
test eax, eax
je 0x482dae
shl eax, 7
mov ecx, eax
mov eax, dword [0x5adec0]
mov eax, dword [ecx + eax]
cmp eax, 0x404050
je 0x482e35
cmp eax, fcn.00401630
jne 0x482dae
mov esi, dword [0x5adec0]
mov eax, dword [ecx + esi + 0x14]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x2000
jge 0x482e65
xor edx, edx
mov dx, word [edi + ebx + 0x1b]
shl edx, 0x10
mov dword [ecx + esi + 0xc], edx
mov esi, dword [0x5adec0]
mov ebp, dword [0x620318]
mov eax, dword [ecx + esi + 0x18]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x2000
jge 0x481d88
mov edx, dword [esp + 0xac]
xor eax, eax
mov ax, word [edx + ebx + 0x1d]
mov edx, dword [0x5adec0]
shl eax, 0x10
mov dword [ecx + edx + 0x10], eax
mov ebp, dword [0x620318]
jmp 0x481d88