Function at 0x440d00
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x5e0f00]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dl, byte [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x24], eax
movzx eax, dl
add eax, 0xfffffffa
mov dword [ebp - 0x28], ebx
mov esi, dword [edi]
mov dword [ebp - 0x2c], esi
cmp eax, 0x6a
ja case.0x440d40.23
movzx eax, byte [eax + 0x441d08]
jmp dword [eax*4 + 0x441cc8]
cmp dword [ebp + 0x18], 0
je 0x440d5a
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
cmp dword [edi + 0x124], 0
je 0x440d96
mov eax, dword [edi + 0xac]
lea ecx, [eax - 0xe0]
mov dword [ebp - 0x2c], ecx
lea ecx, [eax - 0xf0]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440d96
cmp ecx, dword [ebp - 0x2c]
jb 0x440d78
xor eax, eax
cmp dl, 6
sete al
push eax
push ebx
push edi
call fcn.00475de0
jmp 0x440da6
xor eax, eax
cmp dl, 6
sete al
push eax
push ebx
push edi
call fcn.00475f40
add esp, 0xc
cmp dword [esi], 0
jne 0x440dc8
push 0
push 1
push 8
push 0x40
push 1
push esi
call fcn.00451600
add esp, 0x18
test eax, eax
je 0x440dc8
mov byte [eax], 0xf7
xor ecx, ecx
cmp byte [ebp + 0xc], 7
setne cl
push ecx
push esi
call fcn.0047a140
push eax
push ebx
push esi
call fcn.004343c0
add esp, 0x14
mov eax, dword [ebp - 0x24]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x440e0a
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
cmp dword [edi + 0x124], 0
je 0x440e46
mov eax, dword [edi + 0xac]
lea ecx, [eax - 0x120]
mov dword [ebp - 0x2c], ecx
lea ecx, [eax - 0x130]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440e46
cmp ecx, dword [ebp - 0x2c]
jb 0x440e28
xor eax, eax
cmp dl, 8
sete al
push eax
push ebx
push edi
call fcn.00475de0
jmp 0x440e56
xor eax, eax
cmp dl, 8
sete al
push eax
push ebx
push edi
call fcn.00475f40
add esp, 0xc
cmp dword [esi], 0
jne 0x440e78
push 0
push 1
push 1
push 0x40
push 1
push esi
call fcn.00451600
add esp, 0x18
test eax, eax
je 0x440e78
mov byte [eax], 0xf7
xor eax, eax
cmp byte [ebp + 0xc], 9
setne al
push eax
jmp 0x440dd2
cmp dword [ebp + 0x18], 0
je 0x440e9a
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
cmp dword [edi + 0x124], 0
je 0x440ed3
mov eax, dword [edi + 0xac]
lea ecx, [eax - 0x80]
mov dword [ebp - 0x2c], ecx
lea ecx, [eax - 0x90]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440ed3
cmp ecx, dword [ebp - 0x2c]
jb 0x440eb5
xor eax, eax
cmp dl, 0xa
sete al
push eax
push ebx
push edi
call fcn.00475de0
jmp 0x440ee3
xor eax, eax
cmp dl, 0xa
sete al
push eax
push ebx
push edi
call fcn.00475f40
add esp, 0xc
cmp dword [esi], 0
jne 0x440f05
push 0
push 1
push 0x10
push 0x40
push 1
push esi
call fcn.00451600
add esp, 0x18
test eax, eax
je 0x440f05
mov byte [eax], 0xf7
xor eax, eax
cmp byte [ebp + 0xc], 0xb
setne al
push eax
jmp 0x440dd2
cmp dword [ebp + 0x18], 0
je 0x440f24
push ebx
push edi
call fcn.0044bfc0
add esp, 8
push 1
push ebx
push dword [edi + 0x90]
push dword [edi + 0x94]
push edi
call fcn.00475900
mov ecx, dword [edi + 0x8c]
add esp, 0x14
test ecx, ecx
jne 0x441022
mov eax, dword [edi + 0x98]
cmp eax, 0xff
jle 0x441022
sar eax, 8
movzx eax, al
push eax
push 0x40
push ecx
push 1
push 1
push esi
call fcn.00478e00
add esp, 0x18
mov dword [ebp - 0x2c], eax
cmp dword [edi + 0x68], 4
mov dword [ebp - 0x28], 0
je 0x440fa2
push 0
push 0xc
push 0
push 2
push 3
push esi
call fcn.00478e00
push eax
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.004343c0
add esp, 0x24
jmp 0x440faf
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.00436570
add esp, 8
push 0
push 0x82
push 0
push 1
push 0x21
push esi
call fcn.0047a410
movzx eax, byte [edi + 0x98]
push eax
push 0x40
push 0
push 1
push 0
push esi
call fcn.00478e00
push eax
push ebx
push esi
call fcn.004343c0
push esi
call fcn.0047a1d0
mov edx, dword [ebp - 0x28]
add esp, 0x40
mov edi, eax
test edx, edx
je 0x441012
mov ecx, dword [edx]
test ecx, ecx
je 0x44100b
test edi, edi
je 0x44100b
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x440ff2
push esi
call fcn.0047a1d0
mov edx, eax
mov eax, dword [ebp - 0x2c]
jmp 0x441310
push 1
push ebx
push ecx
push edi
call fcn.00435e50
mov eax, dword [ebp - 0x24]
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x441053
push ebx
push edi
call fcn.0044bfc0
add esp, 8
cmp dword [edi + 0x124], 0
je 0x44113a
cmp dword [edi + 0x128], 0
je 0x44107e
push 1
push ebx
push 0x7fffffff
push 0
push edi
call fcn.00475900
jmp 0x440de0
push 0
push 0x82
push 0
push 1
push 0x21
push esi
call fcn.0047a410
push 1
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push esi
call fcn.0047a650
push 0xc0
push 0x40
push 0
push 1
push 2
push esi
call fcn.00478e00
add esp, 0x50
mov ecx, 0x53bfe8
sub ecx, 0xc0
mov edi, eax
push ecx
push 0x81
push 0
push 1
push 0x21
push esi
call fcn.0047a410
push 0
push 1
push 0
push 2
push 0
push 2
push 0x60
push esi
call fcn.0047a650
push esi
call fcn.0047a1d0
add esp, 0x3c
test edi, edi
je case.0x440d40.23
test eax, eax
je case.0x440d40.23
mov ecx, dword [edi + 8]
and ecx, 0xfffffffd
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x24]
or ecx, 1
mov dword [edi + 8], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x44113a
push ebx
push edi
call fcn.0044bfc0
add esp, 8
push 1
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push esi
call fcn.0047a650
mov eax, dword [ebp - 0x24]
add esp, 0x20
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x24]
cmp dl, 0xf
mov byte [ebp - 0xc], 4
sete al
mov byte [ebp - 8], 0
add al, 3
cmp dword [ebp + 0x18], 0
mov byte [ebp - 0xb], al
movzx eax, byte [esi]
mov byte [ebp - 0xa], al
movzx eax, byte [esi + 1]
mov byte [ebp - 9], al
je 0x441198
push ebx
push edi
call fcn.0044bfc0
add esp, 8
push ebx
lea eax, [ebp - 0xc]
push eax
push edi
call fcn.00448260
add esp, 0xc
lea eax, [esi + 2]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x4411ca
push ebx
push edi
call fcn.0044bfc0
add esp, 8
push 0
push 0
push dword [edi + 0xa0]
push dword [edi + 0xa4]
push edi
call fcn.00475900
push 0xd
push 0x40
push 0
push 1
push 1
push esi
call fcn.00478e00
add esp, 0x2c
mov dword [ebp - 0x2c], eax
cmp dword [edi + 0x68], 4
mov dword [ebp - 0x28], 0
je 0x441223
push 0
push 0xc
push 0
push 2
push 3
push esi
call fcn.00478e00
push eax
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.004343c0
add esp, 0x24
jmp 0x441230
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.00436570
add esp, 8
push 0
push 0x82
push 0
push 1
push 0x21
push esi
call fcn.0047a410
push 0xa
push 0x40
push 0
push 1
push 1
push esi
call fcn.00478e00
push 1
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push esi
mov dword [ebp - 0x34], eax
call fcn.0047a650
add esp, 0x50
push 0x22
push esi
call fcn.0047a140
push esi
mov dword [ebp - 0x38], eax
call fcn.0047a1d0
mov edx, eax
add esp, 0xc
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x44129d
test edx, edx
je 0x44129d
mov ecx, dword [eax + 8]
and ecx, 0xfffffffd
mov dword [eax + 0xc], edx
or ecx, 1
mov dword [eax + 8], ecx
push 0
push ebx
push dword [edi + 0x9c]
push edi
call fcn.00435e50
push esi
call fcn.0047a1d0
mov edx, dword [ebp - 0x28]
add esp, 0x14
mov edi, eax
test edx, edx
je 0x4412e0
nop
mov ecx, dword [edx]
test ecx, ecx
je 0x4412d9
test edi, edi
je 0x4412d9
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x4412c0
push esi
call fcn.0047a1d0
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x441305
test edx, edx
je 0x441305
mov ecx, dword [eax + 8]
and ecx, 0xfffffffd
mov dword [eax + 0xc], edx
or ecx, 1
mov dword [eax + 8], ecx
push esi
call fcn.0047a1d0
mov edx, eax
mov eax, dword [ebp - 0x38]
add esp, 4
test eax, eax
je case.0x440d40.23
test edx, edx
je case.0x440d40.23
mov ecx, dword [eax + 8]
and ecx, 0xfffffffd
pop edi
or ecx, 1
mov dword [eax + 8], ecx
pop esi
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x24]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x441359
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
mov eax, dword [ebp - 0x28]
xor ebx, ebx
cmp dl, 0x12
sete bl
xor ecx, ecx
cmp dl, 0x12
push ebx
cmovne eax, ecx
push eax
push 0x3000
push 9
push edi
call fcn.00475900
push 0x23
push esi
call fcn.0047a140
push eax
lea eax, [edi + 0x108]
push eax
push esi
call fcn.004343c0
push ebx
push esi
call fcn.0047a140
push eax
push dword [ebp - 0x28]
push esi
call fcn.004343c0
mov eax, dword [ebp - 0x24]
add esp, 0x3c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x4413cc
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
mov eax, dword [ebp - 0x28]
xor ebx, ebx
cmp dl, 0x14
sete bl
xor ecx, ecx
cmp dl, 0x14
push ebx
cmovne eax, ecx
push eax
push 0x2029
push 0xa
push edi
call fcn.00475900
push 0x23
push esi
call fcn.0047a140
push eax
lea eax, [edi + 0x10c]
jmp 0x44138a
cmp dword [ebp + 0x18], 0
je 0x44140f
push ebx
push edi
call fcn.0044bfc0
add esp, 8
push 0
push 8
push 0
push 1
push 0x20
push esi
call fcn.0047a410
add esp, 0x18
cmp dword [edi + 0x124], 0
je 0x441441
cmp dword [edi + 0x128], 0
mov eax, 0x44cdd0
mov ecx, 0x44d100
cmovne eax, ecx
jmp 0x441446
mov eax, 0x44cc80
push eax
push 0x40
push 0x111
push 0x24
push esi
call fcn.00479bd0
add esp, 0x14
cmp dword [edi + 0x128], 0
je 0x44147d
push 0
push 0x40
push 0
push 1
push 0
push esi
call fcn.00478e00
push eax
push ebx
push esi
call fcn.004343c0
add esp, 0x24
push 0
push 1
push 0
push 2
push 0x20
push esi
call fcn.0047a410
add esp, 0x18
cmp dword [edi + 0x68], 4
jne case.0x440d40.23
push 0
push 0xc
push 0
push 1
push 2
push esi
call fcn.00478e00
push 1
push edi
mov ebx, eax
call fcn.00436340
push esi
call fcn.0047a1d0
add esp, 0x24
test ebx, ebx
je case.0x440d40.23
test eax, eax
je case.0x440d40.23
mov ecx, dword [ebx + 8]
and ecx, 0xfffffffd
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x24]
or ecx, 1
pop edi
pop esi
mov dword [ebx + 8], ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x124], 0
mov dword [ebp - 0x30], 1
je 0x44151a
mov eax, dword [ebp - 0x24]
mov al, byte [eax]
cmp al, 0xc0
jb 0x44151a
movzx eax, al
and eax, 0x3f
movzx eax, byte [eax + 0x53bfe8]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0x18], 0
je 0x441533
cmp dword [edi + 0x68], 1
je 0x441533
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
cmp dl, 0x1d
je 0x441774
push dword [ebp - 0x24]
push edi
call fcn.00435390
add esp, 8
test eax, eax
je 0x441774
push dword [ebp - 0x24]
push edi
call fcn.004351f0
add esp, 8
test eax, eax
jne 0x441774
mov ecx, dword [ebp - 0x24]
movzx ebx, byte [ecx]
cmp dword [edi + 0x124], eax
je 0x44162b
cmp ebx, 0xc0
jb 0x44162b
movzx eax, byte [ecx + 1]
test bl, 0x20
jne 0x441593
and ebx, 0x1f
jmp 0x441623
and eax, 0x3f
test bl, 0x10
jne 0x4415a9
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
jmp 0x441623
test bl, 8
jne 0x4415c8
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
jmp 0x441623
movzx esi, byte [ecx + 3]
movzx edx, byte [ecx + 2]
and esi, 0x3f
mov dword [ebp - 0x38], esi
and edx, 0x3f
movzx esi, byte [ecx + 4]
and esi, 0x3f
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x2c]
test bl, 4
jne 0x441606
and ebx, 3
shl ebx, 6
or ebx, eax
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, dword [ebp - 0x38]
shl ebx, 6
or ebx, dword [ebp - 0x34]
jmp 0x44162b
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, dword [ebp - 0x38]
shl ebx, 6
or ebx, dword [ebp - 0x34]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x18], 0
je 0x441654
cmp dword [edi + 0x68], 1
jne 0x441654
push 0
push 0xc
push 0
push 2
push 3
push esi
call fcn.00478e00
push eax
push dword [ebp - 0x28]
push esi
call fcn.004343c0
add esp, 0x24
push ebx
push edi
call fcn.00435500
push 0
cmp ebx, eax
mov dword [ebp - 0x34], eax
mov ecx, eax
cmova ecx, ebx
push 0
push ecx
mov ecx, eax
cmovb ecx, ebx
push ecx
push edi
call fcn.00475900
mov eax, dword [0x6073e0]
add esp, 0x1c
test eax, eax
jne 0x44168c
call fcn.00457070
mov eax, dword [0x6073e0]
shr eax, 4
test eax, 1
je 0x441710
cmp dword [esi], 0
jne 0x4416d0
mov eax, dword [ebp - 0x34]
cmp eax, 0x7f
jg 0x4416c4
cmp eax, 0xffffff80
jl 0x4416c4
push 0
push 1
push eax
push 0x40
push 0x11
push esi
call fcn.00451600
add esp, 0x18
test eax, eax
je 0x4416d0
or byte [eax + 1], 0x38
jmp 0x4416d0
push eax
push 0x3d
push esi
call fcn.0044fec0
add esp, 0xc
push ebx
push 0x40
push 1
push 0
push esi
call fcn.00478ca0
push ebx
push 0x40
push 0
push 1
push 1
push esi
call fcn.00478e00
push eax
push dword [ebp - 0x28]
push esi
call fcn.004343c0
mov eax, dword [ebp - 0x24]
add esp, 0x38
add eax, dword [ebp - 0x30]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
push ebx
push 0x40
push 0
push 1
push 0
push esi
call fcn.00478e00
mov edi, eax
mov eax, dword [ebp - 0x34]
push eax
push 0x40
push 0
push 1
push 1
push esi
call fcn.00478e00
push eax
push dword [ebp - 0x28]
push esi
call fcn.004343c0
push esi
call fcn.0047a1d0
add esp, 0x40
test edi, edi
je 0x44175d
test eax, eax
je 0x44175d
mov ecx, dword [edi + 8]
and ecx, 0xfffffffd
mov dword [edi + 0xc], eax
or ecx, 1
mov dword [edi + 8], ecx
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x30]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x30]
push ecx
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push esi
call fcn.0047a650
mov eax, dword [ebp - 0x30]
add esp, 0x20
cmp eax, 1
ja 0x4417a1
cmp dword [ebp + 0x18], 0
je 0x4417bf
cmp dword [edi + 0x68], 1
jne 0x4417bf
push 0
push 0xc
push 0
push 2
push 4
push esi
call fcn.00478e00
push eax
push ebx
push esi
call fcn.004343c0
mov eax, dword [ebp - 0x30]
add esp, 0x24
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push ebx
push eax
push dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x1c], 0xffffffff
cmp byte [ebp + 0xc], 0x1e
mov dword [ebp - 0x18], 0
sete al
push eax
push edi
call fcn.00434d70
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x44180f
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
cmp dword [edi + 0x124], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 1
movzx ebx, byte [eax]
je 0x441a49
cmp ebx, 0x80
jae 0x441941
cmp dword [edi + 0x128], 0
jne 0x441941
push 0
push 0x82
push 0
push 1
push 0x21
push esi
call fcn.0047a410
add esp, 0x18
cmp byte [ebp + 0xc], 0x1f
je 0x44188f
push dword [ebp - 0x24]
push edi
call fcn.00435390
add esp, 8
test eax, eax
je 0x44188f
push 0x20
push 0x40
push 0
push 1
push 0
push 3
push 0x66
push esi
call fcn.0047a650
add esp, 0x20
mov eax, 3
or ebx, 0x20
jmp 0x441894
mov eax, 1
push ebx
push 0x40
push 0
push eax
push 0
push esi
call fcn.00478e00
push eax
push dword [ebp - 0x28]
push esi
call fcn.004343c0
push 1
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push esi
call fcn.0047a650
add esp, 0x44
push 0xc0
push 0x40
push 0
push 1
push 2
push esi
call fcn.00478e00
mov ecx, 0x53bfe8
mov edi, eax
sub ecx, 0xc0
push ecx
push 0x81
push 0
push 1
push 0x21
push esi
call fcn.0047a410
push 0
push 1
push 0
push 2
push 0
push 2
push 0x60
push esi
call fcn.0047a650
add esp, 0x50
push esi
call fcn.0047a1d0
add esp, 4
test edi, edi
je 0x44192c
test eax, eax
je 0x44192c
mov ecx, dword [edi + 8]
and ecx, 0xfffffffd
mov dword [edi + 0xc], eax
or ecx, 1
mov dword [edi + 8], ecx
mov eax, dword [ebp - 0x24]
pop edi
pop esi
inc eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp ebx, 0xc0
jb 0x441a49
test bl, 0x20
jne 0x441965
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov dword [ebp - 0x30], 2
jmp 0x441a3e
test bl, 0x10
jne 0x44198c
movzx eax, byte [eax + 1]
and ebx, 0xf
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [ebp - 0x30], 3
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + 2]
jmp 0x441a3e
test bl, 8
jne 0x4419c9
movzx eax, byte [eax + 1]
and ebx, 7
mov ecx, dword [ebp - 0x24]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [ebp - 0x30], 4
shl ebx, 6
movzx eax, byte [ecx + 2]
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ecx
jmp 0x441a49
movzx esi, byte [eax + 2]
movzx ecx, byte [eax + 1]
and esi, 0x3f
mov dword [ebp - 0x34], esi
and ecx, 0x3f
movzx esi, byte [eax + 3]
and esi, 0x3f
mov dword [ebp - 0x38], esi
movzx esi, byte [eax + 4]
and esi, 0x3f
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x2c]
test bl, 4
jne 0x441a19
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, dword [ebp - 0x34]
shl ebx, 6
or ebx, dword [ebp - 0x38]
shl ebx, 6
or ebx, dword [ebp - 0x30]
mov dword [ebp - 0x30], 5
jmp 0x441a49
movzx eax, byte [eax + 5]
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, dword [ebp - 0x34]
shl ebx, 6
or ebx, dword [ebp - 0x38]
shl ebx, 6
or ebx, dword [ebp - 0x30]
mov dword [ebp - 0x30], 6
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x24]
cmp dl, 0x1f
je 0x441ac9
push eax
push edi
call fcn.00435390
add esp, 8
test eax, eax
je 0x441ac9
push ebx
push edi
call fcn.00435500
push 1
push dword [ebp - 0x28]
cmp ebx, eax
mov dword [ebp - 0x2c], eax
mov ecx, eax
cmova ecx, ebx
push ecx
mov ecx, eax
cmovb ecx, ebx
push ecx
push edi
call fcn.00475900
mov edi, dword [ebp - 0x2c]
add esp, 0x1c
xor edi, ebx
lea eax, [edi - 1]
test edi, eax
jne 0x441aa8
push edi
push 0x40
push 0
push 1
push 0
push 1
push 0x66
push esi
call fcn.0047a650
add esp, 0x20
or edi, ebx
jmp 0x441adb
push ebx
push 0x40
push 0
push 1
push 0
push esi
call fcn.00478e00
push eax
push dword [ebp - 0x28]
push esi
call fcn.004343c0
mov edi, dword [ebp - 0x2c]
add esp, 0x24
jmp 0x441adb
push 1
push dword [ebp - 0x28]
push ebx
push ebx
push edi
call fcn.00475900
add esp, 0x14
mov edi, ebx
push edi
push 0x40
push 0
push 1
push 0
push esi
call fcn.00478e00
push eax
push dword [ebp - 0x28]
push esi
call fcn.004343c0
mov eax, dword [ebp - 0x24]
add esp, 0x24
add eax, dword [ebp - 0x30]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x441b21
push ebx
push edi
call fcn.0044bfc0
mov dl, byte [ebp + 0xc]
add esp, 8
cmp dword [edi + 0x124], 0
je 0x441b47
xor eax, eax
cmp dl, 0x6f
sete al
push eax
push dword [ebp - 0x24]
call fcn.00459230
add esp, 8
mov edx, 0x7f
test eax, eax
jne 0x441b4c
mov edx, 0xff
mov eax, dword [ebp - 0x28]
xor ebx, ebx
cmp byte [ebp + 0xc], 0x6f
mov dword [ebp - 0x34], 0
cmovne eax, dword [ebp - 0x34]
sete bl
push ebx
push eax
push edx
push 0
push edi
mov dword [ebp - 0x2c], edx
call fcn.00475900
push dword [ebp - 0x28]
push 0
push ebx
push dword [ebp - 0x24]
push edi
call fcn.0046c2e0
add esp, 0x28
test eax, eax
jne 0x441c6b
cmp dword [edi + 0x124], eax
je 0x441bbe
push dword [ebp - 0x2c]
push 0x40
push eax
push 1
push 4
push esi
call fcn.00478e00
mov ebx, dword [ebp - 0x28]
add esp, 0x18
cmp byte [ebp + 0xc], 0x6e
mov edi, eax
jne 0x441bc3
push edi
push ebx
push esi
call fcn.004343c0
add esp, 0xc
jmp 0x441bc1
mov ebx, dword [ebp - 0x28]
xor edi, edi
push 7
push 0x40
push 0
push 1
push 0
push 3
push 0x65
push esi
call fcn.0047a650
push 3
push 0x40
push 0
push 1
push 0
push 1
push 0x6a
push esi
call fcn.0047a650
add esp, 0x40
push dword [ebp - 0x24]
push 0x81
push 0
push 1
push 0x21
push esi
call fcn.0047a410
push 0
push 3
push 1
push 0x40
push 0
push 3
push 0x68
push esi
call fcn.0047a650
add esp, 0x38
cmp dword [esi], 0
jne 0x441c38
push 0
push 3
push 0
push 1
push 1
push esi
call fcn.00451600
add esp, 0x18
test eax, eax
je 0x441c38
mov byte [eax], 0x85
push 0
push esi
call fcn.0047a140
push eax
push ebx
push esi
call fcn.004343c0
add esp, 0x14
test edi, edi
je 0x441c6b
push esi
call fcn.0047a1d0
add esp, 4
test eax, eax
je 0x441c6b
mov ecx, dword [edi + 8]
and ecx, 0xfffffffd
mov dword [edi + 0xc], eax
or ecx, 1
mov dword [edi + 8], ecx
mov eax, dword [ebp - 0x24]
pop edi
pop esi
add eax, 0x20
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
je 0x441c92
push ebx
push edi
call fcn.0044bfc0
add esp, 8
push ebx
mov ebx, dword [ebp - 0x24]
lea eax, [ebx + 2]
push eax
push edi
call fcn.00448260
movzx eax, byte [ebx]
add esp, 0xc
movzx ecx, byte [ebx + 1]
shl eax, 8
or ecx, eax
lea eax, [ebx - 1]
add eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d3b35
mov esp, ebp
pop ebp
ret