Function at 0x48d597
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x44
jmp 0x48d6ce
mov dword [ebp - 0x44], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
xor al, 1
mov dword [ebp - 0x48], eax
mov eax, dword [0x615274]
mov dword [ebp - 0x30], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48d70d
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x100
call fcn.0048ab93
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 6
je 0x48d80d
cmp eax, 0x10
je 0x48d85e
cmp eax, 0x1b
je 0x48d943
cmp eax, 0x12
je 0x48da48
cmp eax, 0x11
je 0x48daa4
cmp eax, 0xf
je 0x48db09
cmp eax, 0x19
je 0x48dca3
cmp eax, 0x1c
je 0x48dd14
cmp eax, 0x1a
je 0x48dd78
cmp eax, 0x17
je 0x48dde9
cmp eax, 0x18
je 0x48de18
cmp eax, 0x1d
je 0x48de18
cmp eax, 0x15
je 0x48de18
cmp eax, 0x16
je 0x48de18
cmp eax, 0x14
je 0x48dec6
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d7d0
push dword [ebp + 8]
call fcn.0048a76b
jmp 0x48d7d8
push dword [ebp + 8]
call fcn.0048a6d5
mov dword [ebp - 0x24], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48d7fd
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48dfb2
push dword [0x60ecac]
call fcn.004896ed
xor eax, eax
inc eax
push eax
push dword [ebp + 8]
call fcn.0048e140
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d835
call fcn.00489a78
jmp 0x48d83a
call fcn.00489aaf
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48d859
mov eax, dword [0x61526c]
mov dword [ebp - 0x24], eax
jmp 0x48dfb2
push dword [ebp + 8]
call fcn.004896ed
push dword [ebp + 8]
call fcn.0044f1cd
mov eax, dword [0x615294]
cmp eax, 0
je 0x48d890
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x48d8de
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 3
push dword [0x61e2b4]
call fcn.004555ea
push eax
push 3
push dword [0x61e2a4]
call fcn.004555ea
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f5da
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0048d597
mov dword [ebp + 8], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48d923
call fcn.0048a7e5
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048ab93
call fcn.0044f399
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48d939
call fcn.00489a78
jmp 0x48d93e
call fcn.00489aaf
jmp 0x48dfb2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48d96b
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x48d9ad
push dword [ebp - 0x24]
push 3
push dword [0x61e2b4]
call fcn.004555ea
push eax
push 3
push dword [0x61e2a4]
call fcn.004555ea
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f5da
push dword [0x60ed94]
call fcn.004896ed
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0048d597
mov dword [ebp + 8], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48d9f8
call fcn.0048a7e5
push eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x400
call fcn.0048ab93
xor eax, eax
push eax
push dword [ebp + 0x18]
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048bc81
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48da2a
call fcn.00489a78
jmp 0x48da2f
call fcn.00489aaf
mov eax, dword [0x615294]
cmp eax, 0
je 0x48da43
mov eax, dword [0x61526c]
mov dword [ebp - 0x24], eax
jmp 0x48dfb2
push dword [ebp + 8]
call fcn.0044e9f6
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48da67
push dword [ebp - 0x24]
call fcn.0048a76b
jmp 0x48da6f
push dword [ebp - 0x24]
call fcn.0048a6d5
mov dword [ebp - 0x24], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48da94
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48dfb2
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dabb
push dword [ebp + 8]
call fcn.0044f1cd
mov dword [ebp - 0x34], eax
jmp 0x48dac6
push dword [ebp + 8]
call fcn.0048a6d5
mov dword [ebp - 0x34], eax
mov eax, 0xf
xchg edx, eax
mov eax, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [0x615294]
cmp eax, 0
je 0x48daf9
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48dfb2
push dword [ebp + 8]
call fcn.0044e9f6
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 2
je 0x48dbc8
cmp eax, 0x11
je 0x48dc00
cmp eax, 0x18
je 0x48dc32
cmp eax, 0x1d
je 0x48dc32
cmp eax, 0x15
je 0x48dc32
cmp eax, 0x16
je 0x48dc32
cmp eax, 0x17
je 0x48dc6b
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dba4
push dword [ebp - 0x24]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dbb8
push dword [ebp - 0x24]
call fcn.0048a76b
jmp 0x48dbc0
push dword [ebp - 0x24]
call fcn.0048a6bc
mov dword [ebp - 0x24], eax
jmp 0x48dc9e
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 2
push dword [0x61e2b4]
call fcn.004555ea
push eax
push 3
push dword [0x61e2a4]
call fcn.004555ea
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f5da
jmp 0x48dc9e
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dc28
push dword [ebp - 0x24]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
push dword [ebp - 0x24]
call fcn.0044f1cd
jmp 0x48dc9e
xor eax, eax
push eax
push 0
push dword [ebp - 0x24]
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048d28b
mov dword [ebp + 8], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dc69
mov eax, dword [0x61526c]
mov dword [ebp - 0x24], eax
jmp 0x48dc9e
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push 0xf
push dword [0x61e2b4]
call fcn.004555ea
push eax
push 3
push dword [0x61e2a4]
call fcn.004555ea
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f5da
jmp 0x48dfb2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
xor eax, eax
push eax
push dword [ebp + 0x18]
xor eax, eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048bc81
mov dword [ebp + 8], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dd0f
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dcf1
call fcn.0048a7e5
jmp 0x48dcf6
mov eax, dword [0x61526c]
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
jmp 0x48dfb2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
xor eax, eax
push eax
push dword [ebp + 0x18]
xor eax, eax
inc eax
push eax
xor eax, eax
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x24]
call fcn.0048bc81
mov dword [ebp + 8], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dd73
push dword [0x61526c]
push dword [ebp - 0x24]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [0x61526c]
mov dword [ebp - 0x24], eax
jmp 0x48dfb2
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48dd8c
push dword [ebp + 8]
call fcn.0048a76b
jmp 0x48dd94
push dword [ebp + 8]
call fcn.0048a6d5
mov dword [ebp - 0x24], eax
mov eax, 0x19
xchg edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], edx
mov eax, 0
xchg edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [0x615294]
cmp eax, 0
je 0x48ddd9
push dword [ebp - 0x24]
mov eax, dword [ebp + 8]
sub eax, 0x10
push eax
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48dfb2
push 0xb
push dword [0x61e2cc]
call fcn.004555ea
push eax
push 9
push dword [0x61e2a4]
call fcn.004555ea
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f5da
jmp 0x48dfb2
mov eax, dword [ebp + 0x1c]
cmp eax, 0
je 0x48de70
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48de36
push dword [ebp + 8]
call fcn.0048a76b
jmp 0x48de3e
push dword [ebp + 8]
call fcn.0048a6d5
mov dword [ebp - 0x24], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48de63
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
jmp 0x48dec1
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jb 0x48de8b
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
xor eax, eax
push eax
push 0
push 0
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x24]
push dword [ebp + 8]
call fcn.0048d28b
mov dword [ebp + 8], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dec1
mov eax, dword [0x61526c]
mov dword [ebp - 0x24], eax
jmp 0x48dfb2
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
cmp eax, edx
jae 0x48deee
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
jne 0x48deee
jmp 0x48def2
xor eax, eax
jmp 0x48def5
xor eax, eax
inc eax
cmp eax, 0
je 0x48df66
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
push eax
call fcn.0044e050
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [0x60ec94]
cmp eax, edx
je 0x48df32
mov eax, dword [ebp - 0x40]
mov edx, dword [0x60ec98]
cmp eax, edx
je 0x48df32
xor eax, eax
jmp 0x48df35
xor eax, eax
inc eax
cmp eax, 0
je 0x48df66
push 0xe
push dword [0x61e2cc]
call fcn.004555ea
push eax
push 9
push dword [0x61e2a4]
call fcn.004555ea
push eax
push 8
lea esi, [esp + 4]
push esi
push 2
call fcn.0042f5da
mov eax, dword [ebp + 0x18]
cmp eax, 0
je 0x48df7a
push dword [ebp + 8]
call fcn.0048a76b
jmp 0x48df82
push dword [ebp + 8]
call fcn.0048a6d5
mov dword [ebp - 0x24], eax
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dfa7
push dword [ebp - 0x24]
push dword [ebp + 8]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x200
call fcn.0048ab93
mov eax, dword [ebp + 8]
add eax, 0x10
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x14]
xor al, 1
cmp eax, 0
je 0x48dfcf
call fcn.0048d5a6
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x48dfbe
mov eax, dword [0x615294]
cmp eax, 0
je 0x48dfe7
mov eax, dword [ebp - 0x48]
cmp eax, 0
je 0x48dfe7
jmp 0x48dfeb
xor eax, eax
jmp 0x48dfee
xor eax, eax
inc eax
cmp eax, 0
je 0x48e00b
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x8000
call fcn.0048ab93
mov eax, dword [ebp + 8]
leave
ret 0x18