Function at 0x481100
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [0x620318]
push ebp
push esi
push edi
mov dword [esp + 0x10], 4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov dl, byte [eax + ecx + 0x18]
and edx, 0x3f
lea eax, [edx - 1]
cmp eax, 0x1e
ja case.0x481138.17
xor ecx, ecx
mov cl, byte [eax + 0x481ae0]
jmp dword [ecx*4 + 0x481a9c]
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov esi, 1
cmp ebx, esi
jle case.0x481138.4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov cx, word [eax + edx + 0x19]
mov edx, dword [0x5f38ac]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x48118a
inc esi
add eax, 2
cmp esi, ebx
jl 0x481178
jmp case.0x481138.4
test esi, esi
je case.0x481138.4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov al, byte [eax + ecx + 0x1b]
mov cl, al
and cl, 0x60
cmp cl, 0x20
jne 0x4811b1
mov edx, 1
jmp 0x4811c5
cmp cl, 0x40
jne 0x4811bb
or edx, 0xffffffff
jmp 0x4811c5
cmp cl, 0x60
jne 0x4811c5
mov edx, 0xffffff9b
and eax, 0x1f
push edx
push eax
push esi
call fcn.00439ad0
add esp, 0xc
mov ebx, dword [0x620318]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov edi, 0x100
mov dword [esp + 0x14], 1
mov al, byte [edx + ecx + 0x18]
mov dword [esp + 0x20], edi
and eax, 0x3f
mov ebp, 0x4f22f8
mov dword [esp + 0x18], 0x61e9e8
mov eax, dword [eax*4 + 0x4f2338]
dec eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
cmp byte [ecx], 5
jne 0x481a69
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
cmp edx, eax
je 0x481a69
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov bl, byte [ecx + eax + 0x18]
mov eax, dword [ebp]
and ebx, 0x3f
mov esi, dword [ebx*4 + 0x4f2338]
lea edx, [eax + esi]
cmp edx, 0xfa
jle 0x48129c
cmp eax, 4
jle 0x48126d
mov ecx, dword [esp + 0x14]
push eax
lea eax, [edi + 0x4f12ec]
push eax
push ecx
call fcn.00485c80
add esp, 0xc
lea edx, [esi + 4]
mov byte [edi + 0x4f12ee], 7
cmp edx, 0xfa
mov byte [edi + 0x4f12ef], 0
mov dword [ebp], 4
jl 0x48129c
push esi
push ebx
push str.Illegal_Net_Action._Action__i_too_large__u
call fcn.00429c10
add esp, 0xc
mov eax, dword [ebp]
mov cl, byte [edi + eax + 0x4f12ec]
lea eax, [edi + eax + 0x4f12ec]
xor bl, cl
and bl, 0x3f
xor bl, cl
mov ecx, dword [esp + 0x1c]
mov byte [eax], bl
mov edx, dword [ebp]
add edx, esi
test ecx, ecx
mov dword [ebp], edx
jle 0x481a63
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
lea edi, [eax + 1]
mov eax, ecx
lea esi, [esi + edx + 0x19]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x620318]
mov edi, dword [esp + 0x20]
jmp 0x481a69
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
xor edx, edx
mov dl, byte [ecx + eax + 0x1a]
lea esi, [ecx + eax + 0x19]
add edx, 0x8000
mov al, byte [esi]
push edx
and eax, 0x1f
push eax
call fcn.0042af20
mov al, byte [esi]
add esp, 8
mov cl, al
and cl, 0x1f
cmp cl, 0x20
jae 0x4811d3
and eax, 0x1f
lea edx, [eax + eax*4]
lea edx, [edx + edx*8]
lea eax, [eax + edx*8]
mov al, byte [eax*4 + 0x5c853e]
test al, al
jg 0x48134b
mov byte [esi], cl
jmp 0x4811d3
shl al, 5
or al, cl
mov byte [esi], al
jmp 0x4811d3
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov eax, 1
cmp ebx, eax
jle case.0x481138.4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov dx, word [edx + ecx + 0x19]
mov ecx, dword [0x5f38ac]
add ecx, 2
cmp word [ecx], dx
je 0x4813a2
inc eax
add ecx, 2
cmp eax, ebx
jl 0x481390
jmp case.0x481138.4
test eax, eax
je case.0x481138.4
push eax
call fcn.0042fed0
add esp, 4
jmp 0x4811d3
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov eax, 1
cmp ebx, eax
jle case.0x481138.4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov dx, word [ecx + edx + 0x19]
mov ecx, dword [0x5f38ac]
add ecx, 2
cmp word [ecx], dx
je 0x481403
inc eax
add ecx, 2
cmp eax, ebx
jl 0x4813f1
jmp case.0x481138.4
test eax, eax
je case.0x481138.4
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x41], 3
mov ecx, dword [0x5adec0]
mov byte [eax + ecx + 0x3e], 0xff
jmp 0x4811d3
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov esi, 1
cmp ebx, esi
jle case.0x481138.4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov cx, word [eax + edx + 0x19]
mov edx, dword [0x5f38ac]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x481474
inc esi
add eax, 2
cmp esi, ebx
jl 0x481462
jmp case.0x481138.4
test esi, esi
je case.0x481138.4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
xor eax, eax
push 0
mov al, byte [ecx + edx + 0x1b]
push eax
push esi
call fcn.00439ad0
add esp, 0xc
test eax, eax
je 0x4817ef
mov eax, dword [0x5adec0]
shl esi, 7
mov byte [esi + eax + 0x3c], 0
mov ecx, dword [0x5adec0]
mov dword [esi + ecx], fcn.00401630
jmp 0x4811d3
cmp ebx, 1
jle 0x481519
mov ecx, dword [0x5f38ac]
test ecx, ecx
je 0x481519
mov eax, 1
cmp ebx, eax
jle 0x481519
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
add ecx, 2
mov dx, word [edx + esi + 0x19]
cmp word [ecx], dx
je 0x4814f4
inc eax
add ecx, 2
cmp eax, ebx
jl 0x4814e5
jmp 0x481519
test eax, eax
je 0x481519
mov ecx, dword [0x5adec0]
shl eax, 7
mov byte [eax + ecx + 0x3c], 0
mov edx, dword [0x5adec0]
mov dword [eax + edx], fcn.00401630
mov ebx, dword [0x620318]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
xor ecx, ecx
xor eax, eax
mov al, byte [edi + esi + 0x1b]
mov cl, byte [edi + esi + 0x1c]
lea esi, [eax + eax*4]
lea edx, [esi + esi*8]
lea eax, [eax + edx*8]
mov dword [eax*4 + 0x5c88d8], ecx
jmp 0x4811d9
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov eax, 1
cmp ebx, eax
jle case.0x481138.4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov dx, word [edx + ecx + 0x19]
mov ecx, dword [0x5f38ac]
add ecx, 2
cmp word [ecx], dx
je 0x48158d
inc eax
add ecx, 2
cmp eax, ebx
jl 0x48157b
jmp case.0x481138.4
test eax, eax
je case.0x481138.4
mov edx, dword [0x5adec0]
shl eax, 7
mov byte [eax + edx + 0x41], 0xa
jmp 0x4811d3
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov esi, 1
cmp ebx, esi
jle case.0x481138.4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [0x5f38ac]
mov cx, word [ecx + eax + 0x19]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x4815f3
inc esi
add eax, 2
cmp esi, ebx
jl 0x4815e1
jmp case.0x481138.4
test esi, esi
je case.0x481138.4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
xor eax, eax
push esi
mov al, byte [ecx + edx + 0x1b]
push eax
call fcn.0042af20
mov eax, dword [0x5adec0]
add esp, 8
shl esi, 7
mov byte [esi + eax + 0x41], 0xa
jmp 0x4811d3
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov esi, 1
cmp ebx, esi
jle case.0x481138.4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
add eax, 2
mov cx, word [edx + ecx + 0x19]
cmp word [eax], cx
je 0x48166a
inc esi
add eax, 2
cmp esi, ebx
jl 0x481658
jmp case.0x481138.4
test esi, esi
je case.0x481138.4
push 1
push esi
call fcn.00401010
mov ecx, dword [0x5adec0]
add esp, 8
shl esi, 7
mov byte [esi + ecx + 0x46], 5
mov edx, dword [0x5adec0]
mov byte [esi + edx + 0x41], 0xa
jmp 0x4811d3
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov esi, 1
cmp ebx, esi
jle case.0x481138.4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [0x5f38ac]
mov cx, word [ecx + eax + 0x19]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x4816e6
inc esi
add eax, 2
cmp esi, ebx
jl 0x4816d4
jmp case.0x481138.4
test esi, esi
je case.0x481138.4
push 1
push esi
call fcn.00401010
mov eax, dword [0x5adec0]
add esp, 8
shl esi, 7
mov byte [esi + eax + 0x41], 3
jmp 0x4811d3
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
lea eax, [edx + ecx + 0x19]
mov dword [esp + 0x20], eax
mov dx, word [eax]
shr edx, 0xa
and edx, 0x1f
cmp edx, 0x20
jge case.0x481138.4
lea eax, [edx + edx*4]
lea eax, [eax + eax*8]
lea ecx, [edx + eax*8]
mov eax, dword [ecx*4 + 0x5c8a1c]
test eax, eax
lea esi, [ecx*4 + 0x5c8500]
jne case.0x481138.4
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov ebx, edx
mov cl, byte [edi + eax + 0x1b]
lea ebp, [edi + eax + 0x1b]
shr ecx, 6
and ecx, 1
mov dword [esp + 0x1c], ebp
shl ecx, 3
mov dword [esi + 0x14c], ecx
mov cl, byte [ebp]
shr cl, 5
and cl, 1
shl cl, 1
dec cl
mov byte [esi + 0x45], cl
mov eax, dword [edi + eax + 0x1c]
mov ecx, eax
shr eax, 0x10
shl eax, 0x10
mov edi, eax
mov eax, dword [esp + 0x20]
shl ebx, 0xa
mov ax, word [eax]
and ecx, 0xffff
and eax, 0x3ff
shl ecx, 0x10
lea eax, [eax + ebx + 0x8012]
mov bl, byte [ebp]
and ebx, 0x1f
mov ebp, ebx
cmp ebp, 9
jge 0x4817d9
mov ebx, dword [esp + 0x1c]
mov dword [esi + 0x148], ebp
mov bl, byte [ebx]
shr bl, 7
mov byte [esi + ebp + 0x428], bl
and ebx, 0xff
jmp 0x4817e1
xor ebx, ebx
mov dword [esi + 0x148], ebx
push ebx
push ebp
push eax
push edx
push edi
push ecx
call fcn.00427bb0
add esp, 0x18
mov ebx, dword [0x620318]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
mov cl, byte [esi + eax + 0x18]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x4f2338]
mov ecx, dword [esi + 0x14]
add eax, edx
cmp eax, ecx
mov dword [esp + 0x10], eax
jb 0x481115
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov cl, byte [eax + edx + 0x19]
mov eax, ecx
shr ecx, 5
and ecx, 3
and eax, 0x1f
sub ecx, 0
je 0x481884
dec ecx
je 0x48186b
dec ecx
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
je 0x48185e
mov dword [edx*4 + 0x5c897c], 0x37
jmp case.0x481138.4
mov dword [edx*4 + 0x5c897c], 0x3d
jmp case.0x481138.4
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov dword [edx*4 + 0x5c897c], 0x59
jmp case.0x481138.4
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov dword [edx*4 + 0x5c897c], 0x37
jmp case.0x481138.4
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov esi, 1
cmp ebx, esi
jle case.0x481138.4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [0x5f38ac]
mov cx, word [ecx + eax + 0x19]
add edx, 2
mov eax, edx
cmp word [eax], cx
je 0x4818ea
inc esi
add eax, 2
cmp esi, ebx
jl 0x4818d8
jmp case.0x481138.4
test esi, esi
je case.0x481138.4
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov cx, word [eax + edi + 0x1b]
cmp ecx, 0x8000
jl 0x48193a
lea eax, [ecx - 0x8000]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
add eax, 0x8000
test eax, eax
je 0x4811d9
mov ecx, dword [0x5adec0]
shl esi, 7
mov dword [esi + ecx + 0x50], eax
jmp 0x4811d3
mov eax, 1
xor edi, edi
mov di, word [edx]
cmp edi, ecx
je 0x481920
inc eax
add edx, 2
cmp eax, ebx
jl 0x48193f
jmp 0x4811d9
cmp ebx, 1
jle case.0x481138.4
mov eax, dword [0x5f38ac]
test eax, eax
je case.0x481138.4
mov ebp, 1
cmp ebx, ebp
jle case.0x481138.4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov cx, word [eax + edx + 0x19]
mov edx, dword [0x5f38ac]
lea eax, [edx + 2]
cmp word [eax], cx
je 0x4819a0
inc ebp
add eax, 2
cmp ebp, ebx
jl 0x48198e
jmp case.0x481138.4
test ebp, ebp
je case.0x481138.4
mov esi, dword [0x5adec0]
mov edx, dword [esp + 0x10]
mov ecx, ebp
xor eax, eax
shl ecx, 7
add ecx, esi
mov esi, dword [esp + 0x28]
mov al, byte [esi + edx + 0x1b]
mov edx, eax
mov esi, eax
shr edx, 5
and edx, 3
and esi, 0x1f
shr eax, 7
test edx, edx
jne 0x4819e0
mov byte [ecx + 0x41], 0x11
mov dword [ecx + 0x50], edx
jmp 0x481a05
cmp edx, 1
jne 0x4819eb
mov byte [ecx + 0x41], 3
jmp 0x481a05
cmp edx, 2
jne 0x481a0b
mov byte [ecx + 0x41], 0x1d
lea ecx, [esi + esi*4]
inc ebp
lea ecx, [ecx + ecx*8]
lea edx, [esi + ecx*8]
mov dword [edx*4 + 0x5c8588], ebp
mov ebx, dword [0x620318]
test eax, eax
jne case.0x481138.4
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea ecx, [esi + eax*8]
mov dword [ecx*4 + 0x5c8588], 0
jmp case.0x481138.4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov al, byte [eax + edx + 0x19]
and eax, 0x1f
cmp eax, 0x20
jge case.0x481138.4
mov esi, dword [esp + 0x28]
xor ecx, ecx
mov cl, byte [esi + edx + 0x1a]
lea esi, [eax + eax*4]
lea edx, [esi + esi*8]
lea eax, [eax + edx*8]
mov dword [eax*4 + 0x5c88d8], ecx
jmp case.0x481138.4
mov ebx, dword [0x620318]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add eax, 0x1ac
inc edx
add edi, 0x100
add ebp, 4
cmp eax, 0x6202fc
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edi
jl 0x481212
jmp case.0x481138.4