Function at 0x575a04
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx - 4]
mov eax, dword [ebp - 4]
movzx eax, word [eax]
cmp eax, 0x8411
jg 0x575ba2
je 0x575e84
cmp eax, 0x442c
jg 0x575af0
je 0x57614e
cmp eax, 0x245b
jg 0x575a9f
je 0x575ed8
cmp eax, 0x2416
jg 0x575a7d
je 0x575f3f
sub eax, 0x2403
je 0x575d6a
add eax, 0xfffffffe
sub eax, 3
jb 0x575d8b
sub eax, 4
je 0x575d8b
jmp 0x57677a
sub eax, 0x2417
je 0x575f7b
sub eax, 0x13
je 0x575d8b
sub eax, 7
je 0x5761a8
jmp 0x57677a
cmp eax, 0x260a
jg 0x575ace
je 0x575e0e
sub eax, 0x245c
je 0x575f04
sub eax, 5
je 0x575d6a
sub eax, 0xc
je 0x575d8b
jmp 0x57677a
sub eax, 0x2640
je 0x5761b8
sub eax, 0xdc3
je 0x576280
dec eax
je 0x576291
jmp 0x57677a
cmp eax, 0x6426
jg 0x575b4e
je 0x575fe8
cmp eax, 0x5622
jg 0x575b2e
je 0x576495
sub eax, 0x4600
je 0x575d09
sub eax, 0xb
je 0x575e45
sub eax, 0xdf5
je 0x576251
jmp 0x57677a
sub eax, 0x6412
je 0x575e95
sub eax, 0x12
je 0x575f8c
dec eax
je 0x575fba
jmp 0x57677a
cmp eax, 0x7621
jg 0x575b80
je 0x576483
sub eax, 0x6427
je 0x576016
dec eax
je 0x576044
add eax, 0xfffffde3
sub eax, 2
jb 0x5761c8
jmp 0x57677a
sub eax, 0x7623
je 0x5764a7
sub eax, 0xdeb
je 0x575e60
dec eax
je 0x575e72
jmp 0x57677a
cmp eax, 0xc651
jg 0x575c5e
je 0x5760f6
cmp eax, 0xa413
jg 0x575c0f
je 0x575eb4
cmp eax, 0x8460
jg 0x575bed
je 0x575e84
sub eax, 0x842f
je 0x576194
sub eax, 0x2e
je 0x575e60
dec eax
je 0x575e72
jmp 0x57677a
sub eax, 0x9407
je 0x5762f8
sub eax, 0x1fa
je 0x576262
dec eax
je 0x576271
jmp 0x57677a
cmp eax, 0xc64d
jg 0x575c40
je 0x576162
sub eax, 0xa414
je 0x575ec6
sub eax, 0x21f9
je 0x575e51
sub eax, 8
je 0x575f30
jmp 0x57677a
sub eax, 0xc64e
je 0x576072
dec eax
je 0x57609e
dec eax
je 0x5760ca
jmp 0x57677a
cmp eax, 0xd62b
jg 0x575cbf
je 0x5764b9
cmp eax, 0xd609
jg 0x575c9c
je 0x5763f0
sub eax, 0xc652
je 0x576122
sub eax, 0xfb3
je 0x5762a2
sub eax, 3
je 0x576309
jmp 0x57677a
sub eax, 0xd612
je 0x576402
dec eax
je 0x5762ce
add eax, 0xfffffff9
sub eax, 4
jb 0x5766dc
jmp 0x57677a
cmp eax, 0xd660
jg 0x575cee
je 0x576457
sub eax, 0xd62c
je 0x576515
sub eax, 6
je 0x576563
sub eax, 2
je 0x5765cf
jmp 0x57677a
sub eax, 0xd662
je 0x57661d
sub eax, 0x1fb2
je 0x576756
jmp 0x57677a
mov eax, dword [ebp + 8]
cmp byte [eax - 9], 0
jne 0x575d58
mov eax, dword [ebp - 4]
add eax, 2
movsx edx, word [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0x1cc]
call fcn.00566e44
mov word [ebx + 0x16], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
cmp byte [eax - 0x241], 0
jne 0x57677a
mov eax, dword [ebp + 8]
push eax
call fcn.00574340
pop ecx
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov ax, word [eax]
mov word [ebx + 0x16], ax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov al, byte [eax]
test al, al
jb 0x575d7a
cmp al, 3
jbe 0x575d83
mov byte [ebx + 0xa], 0
jmp 0x57677a
mov byte [ebx + 0xa], al
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx eax, byte [eax]
call fcn.00566e34
mov esi, eax
mov eax, dword [ebp - 4]
movzx eax, word [eax]
cmp eax, 0x2407
jg 0x575db6
je 0x575dd8
sub eax, 0x2405
je 0x575dc4
dec eax
je 0x575dce
jmp 0x575e04
sub eax, 0x240c
je 0x575de2
sub eax, 0x1e
je 0x575dfa
jmp 0x575e04
mov eax, esi
mov byte [ebx + 0xc], al
jmp 0x57677a
mov eax, esi
mov byte [ebx + 0xb], al
jmp 0x57677a
mov eax, esi
mov byte [ebx + 0xd], al
jmp 0x57677a
mov eax, dword [0x6723a0]
cmp byte [eax], 0
jne 0x57677a
mov eax, esi
mov byte [ebx + 0x15], al
jmp 0x57677a
mov eax, esi
mov byte [ebx + 0xf], al
jmp 0x57677a
mov eax, esi
mov byte [ebx + 0x14], al
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov al, byte [eax]
sub al, 9
jae 0x575e3c
mov eax, dword [ebp - 4]
add eax, 2
movzx eax, byte [eax]
call fcn.0065b29c
mov edx, eax
mov eax, 8
call fcn.0065b28c
mov byte [ebx + 0x1f], al
jmp 0x57677a
mov byte [ebx + 0x1f], 0
jmp 0x57677a
push ebp
call fcn.005757e4
pop ecx
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
call fcn.00574410
pop ecx
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov ax, word [eax]
mov word [ebx + 8], ax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov ax, word [eax]
mov word [ebx + 2], ax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov ax, word [eax]
mov word [ebx], ax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov ax, word [eax]
mov word [ebx + 4], ax
mov eax, dword [ebp - 4]
add eax, 4
mov ax, word [eax]
mov word [ebx + 6], ax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov ax, word [eax]
mov word [ebx + 0x10], ax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov ax, word [eax]
mov word [ebx + 0x12], ax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
cmp byte [eax], 1
jne 0x575eee
mov word [ebx + 0x10], 0xffec
jmp 0x57677a
cmp word [ebx + 0x10], 0xffec
jne 0x57677a
mov word [ebx + 0x10], 0
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
cmp byte [eax], 1
jne 0x575f1a
mov word [ebx + 0x12], 0xffec
jmp 0x57677a
cmp word [ebx + 0x12], 0xffec
jne 0x57677a
mov word [ebx + 0x12], 0
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
call fcn.005746bc
pop ecx
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x427], 0
jne 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov al, byte [eax]
mov byte [ebx + 0x20], al
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov byte [eax + 0x42e], 1
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx eax, byte [eax]
mov dword [ebx + 0x28], eax
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x748]
mov eax, dword [ebp - 4]
add eax, 2
mov eax, dword [eax]
call fcn.005756c8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x764]
mov eax, dword [ebp - 4]
add eax, 2
mov eax, dword [eax]
call fcn.005756c8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x710]
mov eax, dword [ebp - 4]
add eax, 2
mov eax, dword [eax]
call fcn.005756c8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x72c]
mov eax, dword [ebp - 4]
add eax, 2
mov eax, dword [eax]
call fcn.005756c8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x6f4]
mov eax, dword [ebp - 4]
add eax, 2
mov eax, dword [eax]
call fcn.005756c8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x748]
mov eax, dword [ebp - 4]
add eax, 3
call fcn.0057576c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x764]
mov eax, dword [ebp - 4]
add eax, 3
call fcn.0057576c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x710]
mov eax, dword [ebp - 4]
add eax, 3
call fcn.0057576c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x72c]
mov eax, dword [ebp - 4]
add eax, 3
call fcn.0057576c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x6f4]
mov eax, dword [ebp - 4]
add eax, 3
call fcn.0057576c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov byte [eax - 0x243], 1
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx eax, word [eax]
mov dword [ebx + 0x2700], eax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 3
cmp dword [eax], 0xff000000
jne 0x57677a
mov eax, dword [ebp - 4]
add eax, 0xb
cmp word [eax], 0
jne 0x57677a
mov eax, dword [ebp - 4]
add eax, 7
mov eax, dword [eax]
mov dword [ebx + 0x24], eax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movsx eax, word [eax]
mov dword [ebx + 0x2704], eax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov al, byte [eax]
mov byte [ebx + 0xe], al
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov al, byte [eax]
mov byte [ebx + 0x18], al
jmp 0x57677a
push 2
lea ecx, [ebp - 0xe]
mov eax, dword [ebp - 4]
add eax, 2
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x248]
call fcn.00572b34
movzx eax, word [ebp - 0xe]
call fcn.00401e58
mov edi, eax
movzx eax, word [ebp - 0xe]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x248]
mov ecx, edi
or edx, 0xffffffff
call fcn.00572b34
xor esi, esi
jmp 0x57623c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 8]
mov cl, byte [eax - 9]
mov edx, ebx
mov eax, edi
add eax, esi
call fcn.00576784
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov eax, edi
add eax, esi
call fcn.00574320
pop ecx
add esi, eax
movzx eax, word [ebp - 0xe]
dec eax
cmp esi, eax
jl 0x576210
mov eax, edi
call fcn.00401fac
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx eax, byte [eax]
mov dword [ebx + 0x2c], eax
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
call fcn.00574920
pop ecx
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
call fcn.0057497c
pop ecx
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx eax, byte [eax]
mov dword [ebx + 0x38], eax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx eax, byte [eax]
mov dword [ebx + 0x3c], eax
jmp 0x57677a
xor esi, esi
lea edi, [ebx + 0x2244]
mov eax, dword [ebp - 4]
add eax, 3
mov edx, esi
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov edx, edi
call fcn.005756c8
inc esi
add edi, 0x1c
cmp esi, 6
jne 0x5762aa
jmp 0x57677a
xor esi, esi
lea edi, [ebx + 0x2244]
mov eax, dword [ebp - 4]
add eax, 3
mov edx, esi
shl edx, 3
add eax, edx
mov edx, edi
call fcn.0057576c
inc esi
add edi, 0x1c
cmp esi, 6
jne 0x5762d6
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movsx eax, word [eax]
mov dword [ebx + 0x34], eax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 4
mov edx, eax
mov ecx, dword [ebp - 4]
add ecx, 2
movzx ecx, word [ecx]
add edx, ecx
mov dword [ebp - 8], edx
movzx eax, byte [eax]
mov dword [ebx + 0x44], eax
add dword [ebp - 4], 5
mov edi, dword [ebx + 0x44]
test edi, edi
jl 0x576346
inc edi
lea eax, [ebx + 0x48]
mov edx, dword [ebp - 4]
movsx edx, word [edx]
mov dword [eax], edx
add dword [ebp - 4], 2
add eax, 4
dec edi
jne 0x576334
mov edi, dword [ebx + 0x44]
dec edi
test edi, edi
jl 0x57677a
inc edi
lea eax, [ebx + 0x148]
mov ebx, eax
mov eax, dword [ebp - 4]
add eax, 0x14
cmp eax, dword [ebp - 8]
ja 0x57677a
mov esi, dword [ebp - 4]
mov ax, word [esi]
and ax, 0x20
movzx eax, ax
shr eax, 5
mov dword [ebx], eax
mov ax, word [esi]
and ax, 0x40
movzx eax, ax
shr eax, 6
mov dword [ebx + 4], eax
mov ax, word [esi]
and ax, 0x180
movzx eax, ax
shr eax, 7
mov dword [ebx + 8], eax
movzx eax, word [esi]
and eax, 0xc000
shr eax, 0xe
dec eax
sete al
mov byte [ebx + 0x7c], al
lea edx, [ebx + 0xc]
mov eax, dword [esi + 4]
call fcn.005756c8
lea edx, [ebx + 0x28]
mov eax, dword [esi + 8]
call fcn.005756c8
lea edx, [ebx + 0x44]
mov eax, dword [esi + 0xc]
call fcn.005756c8
lea edx, [ebx + 0x60]
mov eax, dword [esi + 0x10]
call fcn.005756c8
add dword [ebp - 4], 0x14
add ebx, 0x80
dec edi
jne 0x57635b
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
call fcn.005749d4
pop ecx
jmp 0x57677a
add dword [ebp - 4], 2
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
mov ecx, 0xa
cdq
idiv ecx
dec eax
inc dword [ebp - 4]
mov edi, eax
test edi, edi
jl 0x57677a
inc edi
lea eax, [ebx + 0x2148]
mov edx, dword [ebp - 4]
add edx, 8
cmp word [edx], 1
jne 0x57643e
mov edx, dword [ebp - 4]
mov edx, dword [edx]
mov dword [eax], edx
jmp 0x576448
mov edx, dword [ebp - 4]
add edx, 4
mov edx, dword [edx]
mov dword [eax], edx
add dword [ebp - 4], 0xa
add eax, 4
dec edi
jne 0x576429
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 0xb
cmp word [eax], 1
jne 0x576473
mov eax, dword [ebp - 4]
add eax, 3
mov eax, dword [eax]
mov dword [ebx + 0x40], eax
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 7
mov eax, dword [eax]
mov dword [ebx + 0x40], eax
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
call fcn.00574a54
pop ecx
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
call fcn.00574bc0
pop ecx
jmp 0x57677a
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
call fcn.00574cdc
pop ecx
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 3
movzx eax, byte [eax]
shl eax, 4
lea eax, [ebx + eax*8 + 0x148]
mov edx, dword [ebp - 4]
add edx, 4
mov dl, byte [edx]
sub dl, 1
jb 0x5764e5
je 0x5764f3
sub dl, 2
je 0x576503
jmp 0x57677a
xor edx, edx
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
jmp 0x57677a
mov dword [eax], 1
xor edx, edx
mov dword [eax + 4], edx
jmp 0x57677a
mov dword [eax], 1
mov dword [eax + 4], 1
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
mov esi, dword [eax]
mov eax, esi
shr eax, 8
and eax, 0xff
mov edi, esi
and edi, 0xff
dec edi
sub edi, eax
jl 0x57677a
inc edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shl eax, 4
lea eax, [ebx + eax*8 + 0x150]
mov edx, esi
shr edx, 0x18
and edx, 0xff
mov dword [eax], edx
add eax, 0x80
dec edi
jne 0x576549
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 3
movzx esi, byte [eax]
mov eax, dword [ebp - 4]
add eax, 4
movzx edi, byte [eax]
dec edi
sub edi, esi
jl 0x57677a
inc edi
mov eax, esi
add eax, eax
lea eax, [ebx + eax*8 + 0x22ec]
mov ecx, eax
mov edx, dword [ebp - 4]
add edx, 5
movzx edx, byte [edx]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 4]
add edx, 7
movzx edx, word [edx]
test byte [ebp - 0xc], 1
je 0x5765aa
mov dword [ecx + 4], edx
test byte [ebp - 0xc], 2
je 0x5765b2
mov dword [ecx], edx
test byte [ebp - 0xc], 4
je 0x5765bb
mov dword [ecx + 0xc], edx
test byte [ebp - 0xc], 8
je 0x5765c4
mov dword [ecx + 8], edx
add eax, 0x10
dec edi
jne 0x57658a
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 5
movzx eax, byte [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
add eax, 7
movzx edx, word [eax]
test byte [ebp - 0xc], 1
je 0x5765f0
mov dword [ebx + 0x26f0], edx
test byte [ebp - 0xc], 2
je 0x5765fc
mov dword [ebx + 0x26ec], edx
test byte [ebp - 0xc], 4
je 0x576608
mov dword [ebx + 0x26f8], edx
test byte [ebp - 0xc], 8
je 0x57677a
mov dword [ebx + 0x26f4], edx
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx esi, byte [eax]
shr esi, 2
dec esi
cmp esi, 0
jl 0x57677a
mov eax, esi
shl eax, 4
lea eax, [ebx + eax*8 + 0x148]
mov edx, eax
mov ecx, dword [ebp - 4]
add ecx, 3
mov edi, esi
shl edi, 2
add ecx, edi
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
movzx ecx, byte [ecx]
mov dword [edx + 0x10], ecx
mov edi, dword [edx + 0x10]
test edi, edi
jl 0x576666
cmp edi, 0x1b
jle 0x57666d
mov dword [edx + 0x10], 1
mov ecx, dword [ebp - 0xc]
inc ecx
movzx ecx, byte [ecx]
mov dword [edx + 0x2c], ecx
mov edi, dword [edx + 0x2c]
test edi, edi
jl 0x576683
cmp edi, 0x1b
jle 0x57668a
mov dword [edx + 0x2c], 1
mov ecx, dword [ebp - 0xc]
add ecx, 2
movzx ecx, byte [ecx]
mov dword [edx + 0x48], ecx
mov edi, dword [edx + 0x48]
test edi, edi
jl 0x5766a2
cmp edi, 0x1b
jle 0x5766a9
mov dword [edx + 0x48], 1
mov ecx, dword [ebp - 0xc]
add ecx, 3
movzx ecx, byte [ecx]
mov dword [edx + 0x64], ecx
mov edi, dword [edx + 0x64]
test edi, edi
jl 0x5766c1
cmp edi, 0x1b
jle 0x5766c8
mov dword [edx + 0x64], 1
dec esi
sub eax, 0x80
cmp esi, 0xffffffff
jne 0x57663f
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
movzx esi, byte [eax]
shr esi, 2
dec esi
cmp esi, 0
jl 0x57677a
mov eax, esi
shl eax, 4
lea eax, [ebx + eax*8 + 0x148]
mov edx, eax
mov ecx, dword [ebp - 4]
add ecx, 3
mov edi, esi
shl edi, 2
add ecx, edi
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 4]
mov cx, word [ecx]
sub cx, 0xd61a
je 0x57672b
dec cx
je 0x576733
dec cx
je 0x57673b
jmp 0x576743
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x14], ecx
jmp 0x576749
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x30], ecx
jmp 0x576749
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x4c], ecx
jmp 0x576749
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0x68], ecx
dec esi
sub eax, 0x80
cmp esi, 0xffffffff
jne 0x5766fe
jmp 0x57677a
mov eax, dword [ebp - 4]
add eax, 2
cmp byte [eax], 2
jne 0x576772
mov eax, dword [ebp - 4]
add eax, 3
movzx eax, word [eax]
mov dword [ebx + 0x26fc], eax
jmp 0x57677a
xor eax, eax
mov dword [ebx + 0x26fc], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret