Function at 0x426b40
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x32c
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x328], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0x18], eax
push esi
push edi
mov eax, dword [ebx + 0x3d0]
xor edi, edi
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], ecx
lea esi, [eax + 6]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], 0x2000
nop dword [eax]
movzx eax, word [esi - 2]
mov ecx, eax
test ax, ax
js 0x426c17
cmp cx, word [esp + 0x1c]
jge 0x426c17
mov ecx, 0x180f
cmp ax, cx
jne 0x426bbf
inc edi
jmp 0x426c17
mov ecx, 0x1c0d
cmp ax, cx
jne 0x426bcf
inc dword [esp + 0x18]
jmp 0x426c17
mov ecx, 0x1c0e
cmp ax, cx
jne 0x426be4
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
jmp 0x426c1b
mov ecx, 0x1c60
cmp ax, cx
jne 0x426bf4
inc dword [esp + 0x28]
jmp 0x426c17
mov ecx, 0x1cbe
cmp ax, cx
jne 0x426c04
inc dword [esp + 0x2c]
jmp 0x426c17
mov ecx, dword [esp + 0x20]
movsx eax, word [esi]
add ecx, 9
cmp eax, ecx
jne 0x426c17
inc ebx
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0xc]
inc edx
add esi, 0x10c
cmp edx, 0x20
jl 0x426ba0
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
cmp edi, 1
jne 0x427322
mov edi, dword [esp + 0x20]
lea eax, [edi + 1]
cmp ecx, eax
jl 0x427322
cmp dword [esp + 0x18], eax
jl 0x427322
cmp dword [esp + 0x1c], 1
jne 0x427322
mov esi, dword [esp + 0x10]
xor ecx, ecx
imul edx, dword [esp + 0x24], 0x10c
lea eax, [esi + 0xd3]
add eax, edx
nop word [eax + eax]
cmp byte [eax], 0xff
mov dword [esp + 0x18], 0x1a03
mov dword [esp + 0xc], 0x1a25
jne 0x426ce7
inc ecx
inc eax
cmp ecx, 5
jl 0x426c80
movzx eax, word [edx + esi + 4]
cmp ax, word [esp + 0x18]
je 0x426cb9
cmp ax, word [esp + 0xc]
je 0x426cb9
cmp byte [edx + esi + 0x9f], 0
jne 0x426cd5
test byte [edx + esi + 0xb6], 3
jne 0x426cd5
mov ecx, dword [ebx + 0x644]
lea eax, [ecx + edi*4]
mov edi, dword [eax*4 + 0xbdafa4]
jmp 0x426cf7
mov ecx, dword [ebx + 0x644]
lea eax, [ecx + edi*4]
mov edi, dword [eax*4 + 0xbdb004]
jmp 0x426cf7
mov ecx, dword [ebx + 0x644]
lea eax, [ecx + edi*4]
mov edi, dword [eax*4 + 0xbdb064]
lea esi, [ebx + 0x3dc]
mov dword [esi], edi
mov eax, dword [esp + 0x10]
cmp byte [edx + eax + 0x9d], 0
je 0x426d18
mov eax, dword [ecx*4 + 0xbdadcc]
add eax, edi
mov dword [esi], eax
push esi
push ebx
call fcn.00426200
test al, al
jne 0x426d33
mov dword [esp + 0x140], 0xf08610c1
jmp 0x42732d
push dword [esi]
push 8
push ebx
call fcn.00411e50
mov edi, dword [ebx]
mov ecx, 0x64
cmp eax, ecx
push edi
cmovg eax, ecx
mov dword [esi], eax
mov eax, dword [esp + 0x24]
inc eax
imul eax, eax, 0x1e8480
mov dword [ebx + 0x3d8], eax
mov esi, dword [0x5d9188]
call fcn.00424cf0
test al, al
jne 0x426d76
push edi
call fcn.00424da0
test al, al
je 0x426d78
xor esi, esi
mov ecx, dword [ebx + 0x3d8]
mov eax, 0x51eb851f
mov edi, dword [ebx]
imul esi, ecx
imul esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ebx + 0xe4]
lea eax, [ecx + esi]
mov dword [ebx + 0x3d8], eax
cmp edx, eax
jae 0x426df3
mov al, 0x10
mov dword [esp + 0x140], 0x28610c1
movzx eax, al
push eax
lea eax, [esp + 0x144]
mov dword [esp + 0x148], 0xffffffff
push eax
push edi
mov dword [esp + 0x154], 0xffffffff
mov dword [esp + 0x158], 0xffffffff
call fcn.005192f0
mov eax, dword [edi*4 + 0x20a514c]
jmp 0x42736b
sub edx, eax
mov ecx, edi
mov dword [ebx + 0xe4], edx
call fcn.004e9640
mov eax, dword [0x5d9194]
mov ecx, 0x5d9194
test eax, eax
jns 0x426e19
xor eax, eax
xchg dword [ecx], eax
mov eax, dword [0x5d9194]
test esi, esi
jle 0x426e2a
add eax, esi
cmp eax, 0x77359400
jg 0x426e2a
lock xadd dword [ecx], esi
call fcn.00526930
cdq
mov ecx, 0x64
idiv ecx
cmp edx, dword [ebx + 0x3dc]
jge 0x4270c2
imul ecx, dword [esp + 0x24], 0x10c
lea edi, [esp + 0x30]
mov eax, dword [ebx + 0x3d0]
mov edx, 0
add eax, ecx
mov ecx, 0x43
mov esi, eax
mov dword [esp + 0x10], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x34]
mov cx, word [esp + 0x34]
shr eax, 0x10
inc eax
test byte [esp + 0xe6], 3
movzx esi, ax
setne dl
mov word [esp + 0x36], ax
cmp cx, word [esp + 0x18]
je 0x426ea5
cmp cx, word [esp + 0xc]
je 0x426ea5
xor eax, eax
cmp byte [esp + 0xcf], al
setne al
jmp 0x426ea7
xor eax, eax
push edx
push eax
movsx eax, si
push eax
movsx eax, cx
push eax
call fcn.0049cad0
xor esi, esi
xor edx, edx
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
divss xmm0, dword [esp + 0x54]
movss dword [esp + 0x50], xmm0
nop word [eax + eax]
mov ecx, dword [ebx + 0x3d0]
add ecx, edx
call fcn.00493c10
mov eax, dword [ebx + 0x3d4]
lea esi, [esi + 1]
add edx, 0x10c
mov byte [esi + eax - 1], 0xff
cmp edx, 0x2180
jl 0x426ee0
push 0
sub esp, 0x10c
lea esi, [esp + 0x140]
mov edi, esp
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
push dword [ebx]
call fcn.0049ed20
mov ebx, dword [ebx]
lea eax, [esp + 0x144]
sub esp, 0x10c
mov dword [esp + 0x24c], 0x18610c1
mov edi, esp
lea esi, [esp + 0x13c]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0049ee40
movzx eax, byte [esp + 0x141]
push eax
lea eax, [esp + 0x144]
push eax
push ebx
call fcn.005192f0
mov eax, dword [ebx*4 + 0x20a514c]
mov ebx, dword [esp + 0x20]
mov dword [eax + 0x3e0], 0
cmp ebx, 5
jne 0x42707b
cmp dword [0xbdc168], 0
je 0x42707b
movsx edi, word [esp + 0x34]
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x144]
mov dword [esp + 0x14], edi
push eax
mov ecx, 0x9ed0c4
call fcn.00405650
mov esi, dword [esp + 0x148]
mov eax, dword [0x9ed0c4]
cmp byte [esi + 0xd], 0
jne 0x426fd1
cmp edi, dword [esi + 0x10]
jge 0x426fd3
mov esi, eax
cmp esi, eax
je 0x42707b
add esi, 0x14
lea edi, [esp + 0x150]
mov ecx, 0x38
lea eax, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
push eax
lea eax, [esi + 0x86]
push eax
lea eax, [esp + 0x238]
push 0xbdc16c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
cmp dword [0xbdc168], 1
jne 0x427041
lea eax, [esp + 0x230]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0xb90558
call fcn.004cdd70
add esp, 0x20
jmp 0x42707f
mov eax, dword [0xa0cdb0]
test eax, eax
jne 0x427062
lea eax, [esp + 0x230]
or ecx, 0xffffffff
push eax
sub esp, 0x14
call fcn.00472920
add esp, 0x18
jmp 0x42707f
movzx ecx, byte [eax + 8]
lea eax, [esp + 0x230]
push eax
sub esp, 0x14
call fcn.00472920
add esp, 0x18
jmp 0x42707f
mov esi, dword [esp + 0x14]
push dword [esi + 0x3d8]
lea eax, [esi + 0x86]
push dword [esi + 0x3dc]
push ebx
push eax
lea eax, [esi + 0x7b]
push eax
push str._PlusItemLevelMix__Success___s___s_____Type:__d_ChaosSuccessRate:__d_ChaosMoney:__d_
push 7
push 0x9f30a0
call fcn.004b2600
add esp, 0x20
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
cmp dword [esp + 0x28], 0
jne 0x4271ac
cmp dword [esp + 0x2c], 0
jne 0x4271ac
xor esi, esi
xor edx, edx
nop dword [eax]
mov ecx, dword [ebx + 0x3d0]
add ecx, edx
call fcn.00493c10
mov eax, dword [ebx + 0x3d4]
lea esi, [esi + 1]
add edx, 0x10c
mov byte [esi + eax - 1], 0xff
cmp edx, 0x2180
jl 0x4270e0
push 0
push ebx
call fcn.00431130
mov esi, dword [ebx]
mov al, 0x10
movzx eax, al
push eax
lea eax, [esp + 0x144]
mov dword [esp + 0x144], 0x8610c1
push eax
push esi
mov dword [esp + 0x150], 0xffffffff
mov dword [esp + 0x154], 0xffffffff
mov dword [esp + 0x158], 0xffffffff
call fcn.005192f0
mov eax, dword [esi*4 + 0x20a514c]
push 0
mov dword [eax + 0x3e0], 0
push dword [ebx + 0x3d8]
lea eax, [ebx + 0x86]
push dword [ebx + 0x3dc]
push dword [esp + 0x2c]
push eax
lea eax, [ebx + 0x7b]
push eax
push str._PlusItemLevelMix__Failure___s___s_____Type:__d_ChaosSuccessRate:__d_ChaosMoney:__d_ChaosAmulet:__d_
push 7
push 0x9f30a0
call fcn.004b2600
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8
xor edx, edx
xor eax, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
nop dword [eax + eax]
mov edi, dword [ebx + 0x3d0]
add edi, eax
cmp edx, dword [esp + 0x24]
je 0x4271e4
mov ecx, edi
call fcn.00493c10
mov eax, dword [ebx + 0x3d4]
mov byte [edx + eax], 0xff
jmp 0x42729c
xor eax, eax
mov edx, 0
mov word [edi + 6], ax
mov al, byte [edi + 0xb6]
test al, 3
mov dword [esp + 0x14], eax
movzx eax, word [edi + 4]
setne dl
mov ecx, eax
cmp ax, word [esp + 0x18]
je 0x427222
cmp ax, word [esp + 0xc]
je 0x427222
cmp byte [edi + 0x9f], 0
je 0x427224
mov ecx, 1
jmp 0x427226
mov eax, ecx
xor ecx, ecx
push edx
push ecx
movsx esi, ax
push 0
push esi
call fcn.0049cad0
movss xmm0, dword [edi + 0x20]
mov ecx, edi
divss xmm0, dword [edi + 0x24]
movd xmm1, eax
movzx eax, byte [edi + 0xd8]
push eax
lea eax, [edi + 0xd3]
push eax
movzx eax, byte [edi + 0xd2]
push eax
movzx eax, byte [edi + 0xcc]
push eax
push dword [esp + 0x24]
movzx eax, byte [edi + 0x9f]
push eax
movzx eax, byte [edi + 0x9e]
push eax
movzx eax, byte [edi + 0x9d]
cvtdq2ps xmm1, xmm1
push eax
movzx eax, byte [edi + 0x9c]
push eax
push esi
mulss xmm1, xmm0
movss dword [edi + 0x20], xmm1
call fcn.00493d40
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
inc edx
add eax, 0x10c
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], eax
cmp eax, 0x2180
jl 0x4271c0
push 0
push ebx
call fcn.00431130
mov esi, dword [ebx]
mov al, 0x10
movzx eax, al
push eax
lea eax, [esp + 0x144]
mov dword [esp + 0x144], 0x8610c1
push eax
push esi
mov dword [esp + 0x150], 0xffffffff
mov dword [esp + 0x154], 0xffffffff
mov dword [esp + 0x158], 0xffffffff
call fcn.005192f0
mov eax, dword [esi*4 + 0x20a514c]
mov dword [eax + 0x3e0], 0
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x2c]
push eax
jmp 0x427166
mov dword [esp + 0x140], 0x78610c1
mov esi, dword [ebx]
mov al, 0x10
movzx eax, al
push eax
lea eax, [esp + 0x144]
mov dword [esp + 0x148], 0xffffffff
push eax
push esi
mov dword [esp + 0x154], 0xffffffff
mov dword [esp + 0x158], 0xffffffff
call fcn.005192f0
mov eax, dword [esi*4 + 0x20a514c]
mov ecx, dword [esp + 0x334]
pop edi
pop esi
pop ebx
xor ecx, esp
mov dword [eax + 0x3e0], 0
call fcn.00529f01
mov esp, ebp
pop ebp
ret 8