Function at 0x458094
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4064
call fcn.0045d6c0
push ebx
push esi
push edi
mov esi, ecx
call fcn.0045b832
mov ecx, 0x1f4
cdq
mov edi, ecx
idiv edi
add edx, ecx
push edx
call fcn.0045b6eb
and dword [esi + 0x26fc], 0
and dword [esi + 0x1b8c], 0
mov ebx, 0x46f3d8
mov dword [esi + 0x5bd0], eax
mov eax, dword [ebp + 8]
push ebx
push str.newlobby_kor.i16
mov dword [esi + 0x1b64], eax
call fcn.0045c65f
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4584dc
push edi
push 1
lea eax, [ebp - 0x4064]
push 0x4056
push eax
call fcn.0045d1b5
push edi
call fcn.0045c478
mov edx, dword [ebp - 0x3e68]
mov ecx, dword [ebp - 0x3e70]
mov eax, dword [ebp - 0x3e6c]
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x3e64]
add esp, 0x14
xor edi, edi
mov dword [ebp - 0xc], ecx
test ecx, ecx
mov dword [ebp - 8], edx
jle 0x45814e
mov cl, byte [ebp - 0x4064]
xor byte [ebp + edi - 0x3c7c], cl
inc edi
cmp edi, dword [ebp - 0xc]
jl 0x45813b
xor edi, edi
test eax, eax
jle 0x458166
mov cl, byte [ebp - 0x4063]
xor byte [ebp + edi - 0x34ac], cl
inc edi
cmp edi, eax
jl 0x458154
xor eax, eax
cmp dword [ebp - 4], eax
jle 0x458180
mov cl, byte [ebp - 0x4062]
xor byte [ebp + eax - 0x2cdc], cl
inc eax
cmp eax, dword [ebp - 4]
jl 0x45816d
xor eax, eax
cmp dword [ebp - 8], eax
jle 0x45819a
mov cl, byte [ebp - 0x4061]
xor byte [ebp + eax - 0x250c], cl
inc eax
cmp eax, dword [ebp - 8]
jl 0x458187
push ebx
push str.charinfo.dat
call fcn.0045c65f
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
pop ecx
je 0x4584dc
push eax
call fcn.00467200
push eax
call fcn.00467176
mov edi, eax
push edi
call fcn.0045b6eb
push dword [ebp - 0xc]
mov dword [ebp - 4], eax
push 1
push edi
push eax
call fcn.0045d1b5
push dword [ebp - 0xc]
call fcn.0045c478
add esp, 0x20
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x1f7c]
push 0x780
push edi
push dword [ebp - 4]
push eax
call fcn.00437667
push dword [ebp - 4]
call fcn.0045bc4b
push ebx
push str.character.dat
call fcn.0045c65f
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4584dc
push edi
call fcn.00467200
push eax
call fcn.00467176
push eax
mov dword [esi + 0x2c6c], eax
call fcn.0045b6eb
push edi
push 1
push dword [esi + 0x2c6c]
mov dword [esi + 0x26fc], eax
push eax
call fcn.0045d1b5
push edi
call fcn.0045c478
push dword [esi + 0x2c6c]
lea eax, [ebp - 0x3c7c]
push eax
push dword [esi + 0x26fc]
call fcn.0045c050
push ebx
push str.item.dat
call fcn.0045c65f
mov edi, eax
add esp, 0x34
test edi, edi
je 0x4584dc
push edi
call fcn.00467200
push eax
call fcn.00467176
push eax
mov dword [esi + 0x1f78], eax
call fcn.0045b6eb
push edi
push 1
push dword [esi + 0x1f78]
mov dword [esi + 0x1b8c], eax
push eax
call fcn.0045d1b5
push edi
call fcn.0045c478
push dword [esi + 0x1f78]
lea eax, [ebp - 0x2cdc]
push eax
push dword [esi + 0x1b8c]
call fcn.0045c050
add esp, 0x2c
mov ecx, esi
call fcn.00458b17
lea eax, [esi + 0x1b90]
lea edi, [esi + 0x3988]
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0x64
mov ecx, dword [esi + 0x1b64]
push 4
push dword [ebp - 4]
lea eax, [edi + 4]
push eax
call fcn.00437615
add dword [ebp - 4], 0xa
mov dword [edi], eax
add edi, 0x24
dec dword [ebp - 8]
jne 0x4582e6
mov ecx, esi
call fcn.00458b3b
push ebx
push str.exid.dat
call fcn.0045c65f
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
pop ecx
jne 0x458340
and dword [esi + 0x3470], eax
push 4
push eax
lea eax, [esi + 0x3474]
push eax
call fcn.0045bef0
add esp, 0xc
jmp 0x4583db
push eax
call fcn.00467200
push eax
call fcn.00467176
mov edi, eax
pop ecx
test edi, edi
pop ecx
mov dword [ebp - 8], edi
jne 0x458371
and dword [esi + 0x3470], eax
push 4
push eax
lea eax, [esi + 0x3474]
push eax
call fcn.0045bef0
add esp, 0xc
jmp 0x4583d2
push edi
call fcn.0045b6eb
push dword [ebp - 0xc]
mov dword [ebp - 4], eax
push 1
push edi
push eax
call fcn.0045d1b5
add esp, 0x14
mov ecx, dword [ebp + 8]
lea edi, [esi + 0x3474]
push 0x514
push dword [ebp - 8]
push dword [ebp - 4]
push edi
call fcn.00437667
push dword [ebp - 4]
call fcn.0045bc4b
and dword [ebp - 8], 0
pop ecx
push edi
call fcn.0045b670
test eax, eax
pop ecx
je 0x4583c9
inc dword [ebp - 8]
add edi, 0xd
cmp dword [ebp - 8], 0x64
jl 0x4583b0
jmp 0x4583d2
mov eax, dword [ebp - 8]
mov dword [esi + 0x3470], eax
push dword [ebp - 0xc]
call fcn.0045c478
pop ecx
push ebx
push str.stage.dat
call fcn.0045c65f
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
pop ecx
je 0x4584dc
lea eax, [ebp - 0x34ac]
lea edi, [esi + 0x54e0]
push 4
push eax
push edi
call fcn.0045c050
push dword [ebp - 0xc]
dec dword [edi]
call fcn.00467200
push eax
call fcn.00467176
sub eax, 4
push eax
mov dword [ebp - 8], eax
call fcn.0045b6eb
push dword [ebp - 0xc]
mov dword [ebp - 4], eax
call fcn.0045c478
push dword [ebp - 8]
lea eax, [ebp - 0x34a8]
push eax
push dword [ebp - 4]
call fcn.0045c050
mov eax, dword [edi]
add esp, 0x28
inc eax
mov ecx, dword [ebp + 8]
imul eax, eax, 0x22
push eax
lea eax, [esi + 0x4798]
push dword [ebp - 8]
push dword [ebp - 4]
push eax
call fcn.00437667
push dword [ebp - 4]
call fcn.0045bc4b
pop ecx
mov ecx, esi
call fcn.00458dd4
push 4
pop edi
push edi
call fcn.0045b6eb
push edi
mov dword [esi + 0x5bec], eax
call fcn.0045b6eb
push edi
mov dword [esi + 0x5bf0], eax
call fcn.0045b6eb
push edi
mov dword [esi + 0x5bf4], eax
call fcn.0045b6eb
push edi
mov dword [esi + 0x5bf8], eax
call fcn.0045b6eb
push edi
mov dword [esi + 0x5bfc], eax
call fcn.0045b6eb
push edi
mov dword [esi + 0x5c00], eax
call fcn.0045b6eb
push ebx
push str.game.dat
mov dword [esi + 0x5bd4], eax
call fcn.0045c65f
add esp, 0x24
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4584e8
and dword [esi + 0x1b5c], 0
jmp 0x4588d0
push 0x34
call fcn.0045b6eb
push dword [ebp - 0xc]
mov edi, eax
call fcn.00467200
push eax
call fcn.00467176
push eax
mov dword [ebp - 8], eax
call fcn.0045b6eb
push dword [ebp - 0xc]
mov dword [ebp - 4], eax
push 1
push dword [ebp - 8]
push eax
call fcn.0045d1b5
push dword [ebp - 0xc]
call fcn.0045c478
push dword [ebp - 8]
lea eax, [ebp - 0x250c]
push eax
push dword [ebp - 4]
call fcn.0045c050
add esp, 0x30
cmp dword [ebp - 8], 0x34
push 0x34
jne 0x45854c
push dword [ebp - 4]
push edi
call fcn.0045c050
add esp, 0xc
jmp 0x45855b
push dword [ebp - 8]
mov ecx, dword [ebp + 8]
push dword [ebp - 4]
push edi
call fcn.00437667
mov eax, dword [esi + 0x5bd4]
mov ecx, dword [edi]
push 5
mov dword [eax], ecx
mov eax, dword [edi + 4]
mov dword [esi + 0x5bd8], eax
mov eax, dword [edi + 8]
mov dword [esi + 0x5bdc], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0x5be0], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x5be4], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x5be8], eax
mov eax, dword [esi + 0x5bec]
mov ecx, dword [edi + 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 0x5bf0]
mov ecx, dword [edi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x5bf4]
mov ecx, dword [edi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x5bf8]
mov ecx, dword [edi + 0x24]
mov dword [eax], ecx
mov eax, dword [esi + 0x5bfc]
mov ecx, dword [edi + 0x28]
mov dword [eax], ecx
mov eax, dword [esi + 0x5c00]
mov ecx, dword [edi + 0x2c]
mov dword [eax], ecx
mov eax, dword [edi + 0x30]
mov dword [esi + 0x5c04], eax
mov eax, dword [esi + 0x5be4]
mov ecx, eax
imul ecx, eax
mov eax, dword [esi + 0x5be8]
mov dword [esi + 0x5be4], ecx
mov ecx, eax
imul ecx, eax
mov eax, dword [esi + 0x5bec]
mov dword [esi + 0x5be8], ecx
mov ecx, dword [esi + 0x5bf4]
mov eax, dword [eax]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 0x5bf8]
add eax, dword [ecx]
mov ecx, dword [esi + 0x5bfc]
mov dword [ecx], eax
mov eax, dword [esi + 0x5bfc]
pop ecx
mov eax, dword [eax]
push dword [ebp - 4]
cdq
idiv ecx
mov ecx, dword [esi + 0x5bfc]
mov dword [ecx], eax
call fcn.0045bc4b
push edi
call fcn.0045bc4b
push ebx
push str.random.dat
call fcn.0045c65f
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x45867d
and dword [esi + 0x1b70], eax
push 1
pop edi
mov dword [esi + 0x1b6c], edi
mov dword [esi + 0x1b74], edi
mov dword [esi + 0x1b78], edi
jmp 0x458785
push edi
push 1
lea eax, [ebp - 0xc]
push 4
push eax
call fcn.0045d1b5
mov eax, dword [ebp - 0xc]
add esp, 0x10
cmp eax, 0xffffffff
jne 0x45872e
push edi
push 1
lea eax, [esi + 0x1b6c]
push 4
push eax
call fcn.0045d1b5
push edi
push 1
lea eax, [esi + 0x1b70]
push 4
push eax
call fcn.0045d1b5
push edi
push 1
lea eax, [esi + 0x1b74]
push 4
push eax
call fcn.0045d1b5
push edi
push 1
lea eax, [esi + 0x1b78]
push 4
push eax
call fcn.0045d1b5
add esp, 0x40
lea eax, [ebp - 4]
push edi
push 1
push 4
push eax
call fcn.0045d1b5
push dword [ebp - 4]
call fcn.0045b6eb
push edi
push 1
push dword [ebp - 4]
mov dword [ebp - 8], eax
push eax
call fcn.0045d1b5
add esp, 0x24
mov ecx, dword [esi + 0x1b64]
lea eax, [esi + 0x1b7c]
push 0xd
push dword [ebp - 4]
push dword [ebp - 8]
push eax
call fcn.00437667
push dword [ebp - 8]
call fcn.0045bc4b
pop ecx
jmp 0x45877b
mov dword [esi + 0x1b6c], eax
push edi
push 1
lea eax, [esi + 0x1b70]
push 4
push eax
call fcn.0045d1b5
push edi
push 1
lea eax, [esi + 0x1b74]
push 4
push eax
call fcn.0045d1b5
push edi
push 1
lea eax, [esi + 0x1b78]
push 4
push eax
call fcn.0045d1b5
lea eax, [esi + 0x1b7c]
push 0x46dfc0
push eax
call fcn.0045bf50
add esp, 0x38
push edi
call fcn.0045c478
pop ecx
push 1
pop edi
and byte [esi + 0x1b89], 0
push ebx
push str.hitrate.dat
call fcn.0045c65f
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
pop ecx
jne 0x4587b1
push 0x1770
push eax
push esi
call fcn.0045bef0
add esp, 0xc
jmp 0x4587fe
push eax
call fcn.00467200
push eax
call fcn.00467176
push eax
mov dword [ebp - 4], eax
call fcn.0045b6eb
push dword [ebp - 0xc]
mov dword [ebp - 8], eax
push edi
push dword [ebp - 4]
push eax
call fcn.0045d1b5
push dword [ebp - 0xc]
call fcn.0045c478
add esp, 0x20
mov ecx, dword [ebp + 8]
push 0x1770
push dword [ebp - 4]
push dword [ebp - 8]
push esi
call fcn.00437667
push dword [ebp - 8]
call fcn.0045bc4b
pop ecx
push ebx
push str.hitrate.chk
call fcn.0045c65f
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
jne 0x458825
push 0x1770
push eax
push esi
call fcn.0045bef0
add esp, 0xc
jmp 0x4588c3
push ebx
call fcn.00467200
push eax
call fcn.00467176
push eax
mov dword [ebp - 4], eax
call fcn.0045b6eb
push ebx
push edi
push dword [ebp - 4]
mov dword [ebp - 8], eax
push eax
call fcn.0045d1b5
push ebx
call fcn.0045c478
add esp, 0x20
mov ebx, 0x3e8
mov ecx, dword [ebp + 8]
lea edi, [esi + 0x1774]
push ebx
push dword [ebp - 4]
push dword [ebp - 8]
push edi
call fcn.00437667
push dword [ebp - 8]
call fcn.0045bc4b
and dword [ebp + 8], 0
pop ecx
lea eax, [esi + 2]
mov ecx, dword [eax]
mov edx, ecx
shr edx, 0x18
shr ecx, 0x10
add dl, cl
mov ecx, dword [eax]
shr ecx, 8
add dl, cl
xor ecx, ecx
mov cl, byte [eax - 1]
add dl, cl
mov ecx, dword [ebp + 8]
add dl, byte [eax]
add dl, byte [eax - 2]
cmp dl, byte [edi + ecx]
jne 0x4588b0
inc dword [ebp + 8]
add eax, 6
cmp dword [ebp + 8], ebx
jl 0x45887c
jmp 0x4588c0
push 0x1770
push 0
push esi
call fcn.0045bef0
add esp, 0xc
push 1
pop edi
and dword [esi + 0x1b60], 0
mov dword [esi + 0x1b5c], edi
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 4