Function at 0x53e382
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b4ce0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1368
call fcn.00516a12
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
jmp 0x53e3bd
push 0x52818c
lea ecx, [ebp - 0x1c]
call fcn.00515dfa
mov eax, dword [ebp + 8]
mov dword [ebp - 4], 0
cmp eax, 4
jne 0x53e3e0
push 0x528174
jmp 0x53e3f1
cmp eax, 5
jne 0x53e3ec
push 0x528160
jmp 0x53e3f1
push 0x52814c
lea ecx, [ebp - 0x1c]
call fcn.00516082
mov eax, dword [0x56f38c]
push 0x52e640
push eax
call dword [fcn.004b8060]
add esp, 8
test eax, eax
jne 0x53e420
push 0x528140
lea ecx, [ebp - 0x1c]
call fcn.00516082
jmp 0x53e42d
push 0x56f38c
lea ecx, [ebp - 0x1c]
call fcn.00515cda
mov eax, 0x7ffe0014
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
cmp ecx, edx
jne 0x53e432
mov eax, dword [eax]
push 0
push 0x3e8
push ecx
push eax
call fcn.0055d7b2
push 0
push 0xa
push edx
push eax
call fcn.0055d7b2
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [ebp - 0xa8], edx
mov ebx, edx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x24]
rdtsc
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0xb8], esi
mov eax, ebx
mov edx, edi
neg eax
and eax, 0x1f
xor edx, ebx
mov ecx, 0x20
mov edi, edx
sub ecx, eax
shr edi, cl
mov ecx, eax
mov eax, esi
shl edx, cl
neg eax
and eax, 0x1f
mov ecx, 0x20
sub ecx, eax
or edi, edx
mov edx, esi
xor edx, ebx
mov ebx, edx
shr ebx, cl
mov ecx, eax
mov eax, edi
shl edx, cl
neg eax
and eax, 0x1f
mov ecx, 0x20
sub ecx, eax
or ebx, edx
mov edx, esi
xor edx, edi
mov esi, edx
shr esi, cl
mov ecx, eax
mov eax, dword [ebp - 0x3c]
shl edx, cl
or esi, edx
dec eax
mov dword [ebp - 0x3c], eax
jne 0x53e48f
push 0x52e640
lea ecx, [ebp - 0x18]
call fcn.00515dfa
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 1
cmp eax, 4
jne 0x53e594
push ecx
mov ecx, esp
mov dword [ebp - 0x98], esp
push 0x56f344
call fcn.00515c2c
lea edx, [ebp - 0x24]
push edx
call fcn.0053c022
add esp, 8
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.00515cda
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00515c26
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f33c
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f394
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f388
lea ecx, [ebp - 0x18]
call fcn.00515cda
jmp 0x53e7f5
cmp dword [ebp + 8], 5
jne 0x53e643
push ecx
mov ecx, esp
mov dword [ebp - 0x98], esp
push 0x56f344
call fcn.00515c2c
lea eax, [ebp - 0x24]
push eax
call fcn.0053c022
add esp, 8
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00515cda
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00515c26
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f33c
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f394
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f388
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f398
lea ecx, [ebp - 0x18]
call fcn.00515cda
jmp 0x53e7f5
lea ecx, [ebp - 0x30]
call fcn.00515c44
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x30]
push ecx
push 0x5231cc
push edx
mov byte [ebp - 4], 4
call fcn.00515c3e
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x18]
push eax
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push ecx
mov ecx, esp
mov dword [ebp - 0x98], esp
push 0x56f3a0
call fcn.00515c2c
lea ecx, [ebp - 0x24]
push ecx
call fcn.0053b412
add esp, 8
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00515cda
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.00515c26
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f354
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f394
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
mov edx, dword [0x56f3b0]
lea eax, [ebp - 0x30]
push edx
push 0x5231cc
push eax
call fcn.00515c3e
add esp, 0xc
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f350
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f388
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push 0x56f384
lea ecx, [ebp - 0x18]
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push ebx
lea edx, [ebp - 0x30]
push 0x523978
push edx
call fcn.00515c3e
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x18]
push eax
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push edi
lea ecx, [ebp - 0x30]
push 0x523978
push ecx
call fcn.00515c3e
add esp, 0xc
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x18]
push edx
call fcn.00515cda
push 0x523828
lea ecx, [ebp - 0x18]
call fcn.00516082
push esi
lea eax, [ebp - 0x30]
push 0x523978
push eax
call fcn.00515c3e
add esp, 0xc
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00515cda
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00515c26
mov eax, dword [0x56f378]
push 0x52e640
push eax
call dword [fcn.004b8060]
add esp, 8
test eax, eax
jne 0x53e850
push eax
call dword [fcn.004b804c]
push eax
call dword [fcn.004b8050]
add esp, 8
rdtsc
mov dword [ebp - 0x24], eax
call dword [fcn.004b7310]
mov esi, eax
call dword [fcn.004b8048]
mov edx, dword [ebp - 0x24]
add edx, esi
add eax, edx
and eax, 0xffff
push eax
push 0x523990
push 0x56f378
call fcn.00515c3e
add esp, 0xc
mov eax, dword [0x56f378]
xor esi, esi
mov dword [0x56f3ac], 0x5a
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov eax, dword [eax - 8]
lea ecx, [ebp - 0x9c]
push ecx
push eax
push esi
mov ecx, 0x56f378
call fcn.00515c98
push eax
lea ecx, [ebp - 0x1378]
call fcn.00524962
mov eax, dword [ebp + 8]
cmp eax, 4
je 0x53ea8b
cmp eax, 5
je 0x53ea8b
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x56f378]
push esi
mov eax, dword [edx - 8]
mov edx, dword [ecx - 8]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], edx
call fcn.00515c98
push esi
mov ecx, 0x56f378
mov dword [ebp - 0x48], eax
call fcn.00515c98
mov dword [ebp - 0x24], eax
xor eax, eax
mov byte [ebp + eax - 0x220], al
inc eax
cmp eax, 0x100
jb 0x53e8d5
xor ecx, ecx
xor edx, edx
xor edi, edi
mov esi, dword [ebp - 0x24]
mov al, byte [ebp + edi - 0x220]
xor ebx, ebx
mov bl, byte [ecx + esi]
mov esi, eax
and esi, 0xff
add esi, edx
inc ecx
lea edx, [esi + ebx]
mov esi, dword [ebp - 0x34]
cmp ecx, esi
jb 0x53e910
xor ecx, ecx
mov esi, edx
and esi, 0xff
inc edi
cmp edi, 0x100
mov bl, byte [ebp + esi - 0x220]
lea esi, [ebp + esi - 0x220]
mov byte [ebp + edi - 0x221], bl
mov byte [esi], al
jb 0x53e8ea
mov eax, dword [ebp - 0x44]
xor ecx, ecx
inc eax
mov byte [ebp - 0x38], 0
test eax, eax
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x34], eax
jbe 0x53e9bf
mov esi, dword [ebp - 0x48]
mov bl, byte [ebp - 0x40]
inc bl
mov byte [ebp - 0x40], bl
mov edx, dword [ebp - 0x40]
and edx, 0xff
mov al, byte [ebp + edx - 0x220]
lea edi, [ebp + edx - 0x220]
mov dl, byte [ebp - 0x38]
mov byte [ebp - 0x24], al
add dl, al
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov bl, byte [ebp + edx - 0x220]
lea edx, [ebp + edx - 0x220]
mov byte [edi], bl
mov bl, byte [ecx + esi]
mov byte [edx], al
mov eax, dword [ebp - 0x24]
xor edx, edx
and eax, 0xff
mov dl, byte [edi]
add eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x220]
xor bl, al
mov eax, dword [ebp - 0x34]
mov byte [ecx + esi], bl
inc ecx
cmp ecx, eax
jb 0x53e950
lea ecx, [ebp - 0x3c]
call fcn.0050b002
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0xb
mov eax, dword [ecx - 8]
lea ecx, [ebp - 0x18]
inc eax
push eax
push 0
call fcn.00515c98
push eax
lea ecx, [ebp - 0x3c]
call fcn.0050b012
mov edi, eax
lea ecx, [ebp - 0x18]
push edi
call fcn.00515d10
push edi
call dword [fcn.004b802c]
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.004d0f02
lea edx, [ebp - 0x48]
push 4
push edx
mov ecx, 0x56f378
call fcn.00515eb4
mov esi, eax
lea eax, [ebp - 0x44]
push 4
push eax
mov ecx, 0x56f378
mov byte [ebp - 4], 0xc
call fcn.00515eae
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x34]
push ecx
push eax
push edx
mov byte [ebp - 4], 0xd
call fcn.00515cce
push esi
push eax
lea eax, [ebp - 0x24]
mov bl, 0xe
push eax
mov byte [ebp - 4], bl
call fcn.00515cce
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.00515cb0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00515c26
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xd
call fcn.00515c26
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xc
call fcn.00515c26
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
jmp 0x53eb3b
lea ecx, [ebp - 0x80]
push 4
push ecx
mov ecx, 0x56f378
call fcn.00515eb4
mov edi, eax
mov edx, dword [ebp - 0x18]
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
mov eax, dword [edx - 8]
inc eax
push eax
push esi
call fcn.00515c98
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x1378]
call fcn.005259a2
mov ebx, eax
lea ecx, [ebp - 0x44]
push 4
push ecx
mov ecx, 0x56f378
mov byte [ebp - 4], 7
call fcn.00515eae
push ebx
lea edx, [ebp - 0x34]
push eax
push edx
mov byte [ebp - 4], 8
call fcn.00515cce
push edi
push eax
lea eax, [ebp - 0x24]
mov bl, 9
push eax
mov byte [ebp - 4], bl
call fcn.00515cce
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa
call fcn.00515cb0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00515c26
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call fcn.00515c26
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 7
call fcn.00515c26
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.00515c26
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x80]
call fcn.00515c26
push 0x528138
lea ecx, [ebp - 0x1c]
call fcn.00516082
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00515cda
push 0x52812c
lea ecx, [ebp - 0x1c]
call fcn.00516082
push 0x523828
lea edx, [ebp - 0x20]
push 0x56f390
push edx
call fcn.00515c9e
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x10
cmp eax, 4
je 0x53ed06
cmp eax, 5
je 0x53ed06
mov eax, dword [ebp - 0x20]
mov edx, dword [0x56f378]
push 0
mov ecx, dword [eax - 8]
mov eax, dword [edx - 8]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x34], eax
call fcn.00515c98
push 0
mov ecx, 0x56f378
mov dword [ebp - 0x48], eax
call fcn.00515c98
mov dword [ebp - 0x24], eax
xor eax, eax
mov byte [ebp + eax - 0x220], al
inc eax
cmp eax, 0x100
jb 0x53ebc5
xor ecx, ecx
xor edx, edx
xor edi, edi
mov esi, dword [ebp - 0x24]
mov al, byte [ebp + edi - 0x220]
xor ebx, ebx
mov bl, byte [ecx + esi]
mov esi, eax
and esi, 0xff
add esi, edx
inc ecx
lea edx, [esi + ebx]
mov esi, dword [ebp - 0x34]
cmp ecx, esi
jb 0x53ec00
xor ecx, ecx
mov esi, edx
and esi, 0xff
inc edi
cmp edi, 0x100
mov bl, byte [ebp + esi - 0x220]
lea esi, [ebp + esi - 0x220]
mov byte [ebp + edi - 0x221], bl
mov byte [esi], al
jb 0x53ebda
mov edx, dword [ebp - 0x44]
xor ecx, ecx
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x40], 0
lea eax, [edx + 1]
test eax, eax
mov dword [ebp - 0x34], eax
jbe 0x53ecb0
mov esi, dword [ebp - 0x48]
mov bl, byte [ebp - 0x40]
mov dl, byte [ebp - 0x38]
inc bl
mov byte [ebp - 0x40], bl
mov eax, dword [ebp - 0x40]
and eax, 0xff
lea edi, [ebp + eax - 0x220]
mov al, byte [ebp + eax - 0x220]
add dl, al
mov byte [ebp - 0x24], al
mov byte [ebp - 0x38], dl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov bl, byte [ebp + edx - 0x220]
lea edx, [ebp + edx - 0x220]
mov byte [edi], bl
mov bl, byte [ecx + esi]
mov byte [edx], al
mov eax, dword [ebp - 0x24]
xor edx, edx
and eax, 0xff
mov dl, byte [edi]
add eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x220]
xor bl, al
mov eax, dword [ebp - 0x34]
mov byte [ecx + esi], bl
inc ecx
cmp ecx, eax
jb 0x53ec42
lea ecx, [ebp - 0x3c]
call fcn.0050b002
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x12
mov eax, dword [ecx - 8]
lea ecx, [ebp - 0x20]
inc eax
push eax
push 0
call fcn.00515c98
push eax
lea ecx, [ebp - 0x3c]
call fcn.0050b012
mov esi, eax
lea ecx, [ebp - 0x20]
push esi
call fcn.00515d10
push esi
call dword [fcn.004b802c]
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x10
call fcn.004d0f02
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x1c]
push edx
call fcn.00515cda
jmp 0x53ed43
mov eax, dword [ebp - 0x20]
push 0
lea ecx, [ebp - 0x20]
mov eax, dword [eax - 8]
inc eax
push eax
push 0
call fcn.00515c98
lea ecx, [ebp - 0x24]
push eax
push ecx
lea ecx, [ebp - 0x1378]
call fcn.005259a2
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x11
call fcn.00515cda
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x10
call fcn.00515c26
lea ecx, [ebp - 0x28]
call fcn.00515c44
push 0
mov byte [ebp - 4], 0x13
call dword [fcn.004b804c]
add esp, 4
lea edx, [ebp - 0x28]
push eax
push 0x523990
push edx
call fcn.00515c3e
add esp, 0xc
lea ecx, [ebp - 0x1c]
push 0x528124
call fcn.00516082
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00515cda
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00515c2c
push 0
push 0
push 0
push 0
push 1
push 0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x14
call fcn.00515d3a
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x3c], 0
call fcn.00515c44
push 0
lea edx, [ebp - 0x24]
push 4
push edx
push 2
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x30], 0x3f3
mov dword [ebp - 0x24], 0x1388
call fcn.0055d6dc
push 0
lea eax, [ebp - 0x24]
push 4
mov edi, 0x3e8
push eax
push 5
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], edi
call fcn.0055d6dc
push 0
lea ecx, [ebp - 0x24]
push 4
mov esi, 0x1b58
push ecx
push 6
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], esi
call fcn.0055d6dc
push 0
lea edx, [ebp - 0x24]
push 4
push edx
push 7
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], edi
call fcn.0055d6dc
push 0
lea eax, [ebp - 0x24]
push 4
mov dword [ebp - 0x24], esi
push eax
push 8
lea ecx, [ebp - 0x60]
call fcn.0055d6dc
push 0
lea ecx, [ebp - 0x24]
push 4
push ecx
push 3
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], 1
call fcn.0055d6dc
mov edx, dword [ebp - 0x58]
push 4
push 1
push 0x40
push edx
call dword [0x4b82c8]
mov eax, dword [0x56f330]
test eax, eax
jne 0x53ef1c
push 0x528118
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
push 0x528108
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
push 0x5280fc
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
push 0x5280ec
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
push 0x5280e0
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
push 0x5280d0
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
push 0x5280c4
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
push 0x5280b4
push eax
mov ecx, 0x56f328
call fcn.00516682
mov eax, dword [0x56f330]
mov esi, eax
mov dword [ebp - 0x98], esi
jmp 0x53ef34
xor edi, edi
mov dword [ebp - 0x24], edi
cmp edi, esi
jae 0x53f0ef
jmp 0x53ef53
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00515cb0
mov ecx, dword [0x56f37c]
xor edx, edx
lea eax, [edi + ecx*2]
lea ecx, [ebp - 0x1c]
div esi
mov eax, dword [0x56f32c]
mov edx, dword [eax + edx*4]
push edx
push 0x5280a8
call fcn.0051618a
jmp 0x53ef92
mov byte [ebp - 4], 0x17
jmp 0x53efa8
mov edx, dword [0x56f37c]
mov ebx, 0xa
xor ecx, ecx
mov dword [0x527fcc], ebx
lea eax, [edi + edx*2]
xor edx, edx
div esi
mov eax, dword [0x56f32c]
mov dword [0x56f3a4], 0x32
mov word [ebp - 0x6b], cx
mov byte [ebp - 0x6c], 0
mov byte [ebp - 0x69], cl
mov edx, dword [eax + edx*4]
push edx
call dword [fcn.004b82ec]
test eax, eax
je 0x53eff4
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x53f014
cmp ax, 0x7f
je 0x53f007
cmp ax, 0xa8c0
jne 0x53f014
mov dword [ebp - 0x30], 0x3f3
mov dword [0x527fe0], ebx
mov ecx, dword [ebp - 0x1c]
push 0
push 0
push 0x4000001
push 1
push ecx
lea ecx, [ebp - 0x60]
call fcn.00515d2e
mov esi, eax
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
mov edx, dword [esi]
mov dword [ebp - 0x3c], esi
call dword [edx + 0x60]
lea ecx, [ebp - 0x14]
call fcn.005160a0
jmp 0x53f053
lea ecx, [ebp - 0xf8]
push 0x528094
push ecx
call fcn.004dee82
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x18
call fcn.00515c5c
cmp eax, 0xffffffff
lea ecx, [ebp - 0xf8]
setne bl
mov byte [ebp - 4], 0x17
call fcn.00515c26
test bl, bl
je 0x53f162
jmp 0x53f0a5
mov edx, dword [esi]
push 0x56f364
mov ecx, esi
call dword [edx + 0x60]
push 0x56f364
mov ecx, 0x56f360
call fcn.00515cb0
mov dword [ebp - 0x30], 0x3f3
mov dword [0x56f3a8], 0x50
mov dword [0x527fd0], 0xa
jmp 0x53f0eb
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x60]
call fcn.0055d6d6
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
call fcn.00515c26
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x14
call fcn.00515d22
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x13
call fcn.00515c26
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x10
call fcn.00515c26
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.00515c26
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call fcn.00515c26
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.00515c26
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xe8]
push 0x528080
push eax
call fcn.004dee82
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x19
call fcn.00515c5c
cmp eax, 0xffffffff
lea ecx, [ebp - 0xe8]
setne bl
mov byte [ebp - 4], 0x17
call fcn.00515c26
test bl, bl
je 0x53fb36
call fcn.00518ce2
mov eax, dword [0x527fcc]
add ebx, eax
call ebx
call [ebx - 0x15]
adc byte [esi + 0x4d], dl
push eax
jb 0x53f228
je 0x53f220
arpl word [eax + 0x62], si
imul ebp, dword gs:[bp], 0x458d168b
in al, dx
push eax
mov ecx, esi
call dword [edx + 0x60]
lea ecx, [ebp - 0x68]
push 0x528040
push ecx
call fcn.004dee82
add esp, 8
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1a
call fcn.00515c44
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x74]
push esi
push 0x524f5c
push edx
mov byte [ebp - 4], 0x1b
call fcn.00515c3e
add esp, 0xc
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x68]
push eax
call fcn.00515cda
push 0x80000001
push 0
push ecx
mov dword [0x527fd0], 0xa
mov ecx, esp
mov dword [ebp - 0x4c], esp
add byte [eax], al
add byte [ebx - 0x4b9a7634], cl
push 0x52e640
call fcn.00515dfa
push ecx
lea edx, [ebp - 0x68]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push edx
mov byte [ebp - 4], 0x1c
call fcn.00515c2c
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x1b
call fcn.005170f2
lea eax, [ebp - 0xa4]
mov bl, 0x1d
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], bl
call fcn.00517462
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x1e
push ecx
lea ecx, [ebp - 0x40]
call fcn.00515c2c
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x20
call fcn.00515c26
test esi, esi
jne 0x53f2e0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov edi, dword [fcn.004b8060]
push edx
push eax
call edi
add esp, 8
test eax, eax
je 0x53f2fc
mov ecx, dword [ebp - 0x14]
push 0x52e640
push ecx
call edi
add esp, 8
test eax, eax
je 0x53f2fc
push ecx
lea edx, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x4c], esp
push edx
mov dword [0x56f3a8], 0x50
call fcn.00515c2c
lea ecx, [ebp - 0x120]
call fcn.005174a2
jmp 0x53f34b
cmp esi, 1
jne 0x53f34b
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x56f348]
push ecx
push eax
call dword [fcn.004b8060]
add esp, 8
test eax, eax
jne 0x53f33d
push 0x41
lea ecx, [ebp - 0x14]
call fcn.005166fa
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00515c26
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x1b
call fcn.00517272
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1a
call fcn.00515c26
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x17
call fcn.00515c26
jmp 0x53fb11
lea edx, [ebp - 0x14]
mov ecx, 0x56f348
push edx
call fcn.00515cb0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00515c26
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x1b
call fcn.00517272
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1a
call fcn.00515c26
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x17
call fcn.00515c26
cmp esi, 4
je 0x53f4f3
cmp esi, 5
je 0x53f4f3
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x48]
mov eax, dword [eax - 8]
mov dword [ebp - 0x80], eax
call fcn.0050b002
push 0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x22
call fcn.00515c98
lea ecx, [ebp - 0x80]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.0050b1d2
mov edx, dword [0x56f378]
mov ecx, dword [ebp - 0x80]
mov ebx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [edx - 8]
push 0
mov ecx, 0x56f378
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x88], eax
call fcn.00515c98
mov dword [ebp - 0x84], eax
xor eax, eax
cmp eax, 0x100
jae 0x53f3fa
mov byte [ebp + eax - 0x220], al
inc eax
jmp 0x53f3e9
xor ecx, ecx
xor edx, edx
xor eax, eax
mov dword [ebp - 0x30], eax
cmp eax, 0x100
jae 0x53f45e
mov edi, dword [ebp - 0x84]
lea esi, [ebp + eax - 0x220]
xor ebx, ebx
mov al, byte [esi]
mov bl, byte [ecx + edi]
mov edi, eax
and edi, 0xff
add edi, edx
inc ecx
lea edx, [edi + ebx]
mov edi, dword [ebp - 0x88]
cmp ecx, edi
jb 0x53f438
xor ecx, ecx
mov edi, edx
and edi, 0xff
mov bl, byte [ebp + edi - 0x220]
lea edi, [ebp + edi - 0x220]
mov byte [esi], bl
mov ebx, dword [ebp - 0x7c]
mov byte [edi], al
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
jmp 0x53f403
mov byte [ebp - 0x94], 0
mov byte [ebp - 0xa0], 0
xor edi, edi
cmp edi, dword [ebp - 0x4c]
jae 0x53f4d2
inc byte [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
and edx, 0xff
mov cl, byte [ebp + edx - 0x220]
lea eax, [ebp + edx - 0x220]
add byte [ebp - 0x94], cl
mov edx, dword [ebp - 0x94]
and edx, 0xff
lea esi, [ebp + edx - 0x220]
mov dl, byte [ebp + edx - 0x220]
mov byte [eax], dl
mov byte [esi], cl
mov al, byte [eax]
mov dl, byte [edi + ebx]
add al, cl
and eax, 0xff
mov cl, byte [ebp + eax - 0x220]
xor dl, cl
mov byte [edi + ebx], dl
inc edi
jmp 0x53f46e
push ebx
lea ecx, [ebp - 0x14]
call fcn.00515d10
push ebx
call dword [fcn.004b802c]
add esp, 4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call fcn.004d0f02
jmp 0x53f532
push 0
push ecx
lea edx, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x4c], esp
push edx
call fcn.00515c2c
lea eax, [ebp - 0xf0]
lea ecx, [ebp - 0x1378]
push eax
call fcn.00525c82
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x21
call fcn.00515cb0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x17
call fcn.00515c26
mov ecx, dword [ebp - 0x14]
mov edi, dword [fcn.004b8060]
push 0x52e640
push ecx
call edi
add esp, 8
test eax, eax
je 0x53fb0a
mov eax, dword [ebp + 8]
test eax, eax
jne 0x53f861
mov edi, dword [0x56f378]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push eax
lea ecx, [ebp - 0x14]
call fcn.00515e06
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea edx, [ebp - 0xb4]
push esi
push edx
lea ecx, [ebp - 0x14]
call fcn.00515eae
push eax
mov ecx, 0x56f370
mov byte [ebp - 4], 0x23
call fcn.00515cb0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x17
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea eax, [ebp - 0xe4]
push esi
push eax
lea ecx, [ebp - 0x14]
call fcn.00515eae
mov eax, dword [eax]
push eax
call dword [fcn.004b8058]
add esp, 4
lea ecx, [ebp - 0xe4]
mov dword [0x56f36c], eax
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea ecx, [ebp - 0xbc]
push esi
push ecx
lea ecx, [ebp - 0x14]
call fcn.00515eae
mov eax, dword [eax]
mov edi, dword [fcn.004b8054]
push 0x56f368
push 0x5231cc
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0xbc]
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea edx, [ebp - 0xfc]
push esi
push edx
lea ecx, [ebp - 0x14]
call fcn.00515eae
push eax
mov ecx, 0x56f384
mov byte [ebp - 4], 0x24
call fcn.00515cb0
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x17
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea eax, [ebp - 0xc4]
push esi
push eax
lea ecx, [ebp - 0x14]
call fcn.00515eae
push eax
mov ecx, 0x56f380
mov byte [ebp - 4], 0x25
call fcn.00515cb0
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x17
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
cmp dword [0x56f3a4], 0x32
jne 0x53f84f
cmp dword [0x56f3ac], 0x5a
jne 0x53f84f
cmp dword [0x527fe0], 0x46
jne 0x53f84f
lea ecx, [ebp - 0x14]
push ecx
mov ecx, 0x56f360
call fcn.00515cb0
push 0x5f
mov ecx, 0x56f380
call fcn.00515e12
mov esi, eax
lea edx, [ebp - 0xdc]
push esi
push edx
mov ecx, 0x56f380
call fcn.00515eae
mov eax, dword [eax]
lea ecx, [ebp - 0x78]
push ecx
push 0x523978
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0xdc]
call fcn.00515c26
inc esi
mov ecx, 0x56f380
push esi
push 0
call fcn.00515e06
push 0x5f
mov ecx, 0x56f380
call fcn.00515e12
mov esi, eax
lea edx, [ebp - 0x100]
push esi
push edx
mov ecx, 0x56f380
call fcn.00515eae
mov eax, dword [eax]
lea ecx, [ebp - 0x64]
push ecx
push 0x523978
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0x100]
call fcn.00515c26
inc esi
mov ecx, 0x56f380
push esi
push 0
call fcn.00515e06
mov eax, dword [0x56f380]
lea edx, [ebp - 0x38]
push edx
push 0x523978
push eax
call edi
mov edi, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0xa8]
cmp eax, 4
jge 0x53fa5d
mov eax, ebx
mov ecx, 0x20
neg eax
and eax, 0x1f
mov esi, edx
sub ecx, eax
shl esi, cl
mov ecx, eax
shr edx, cl
mov ecx, 0x20
or esi, edx
xor esi, ebx
mov edx, esi
mov esi, edi
mov eax, edx
mov dword [ebp - 0x38], edx
neg eax
and eax, 0x1f
sub ecx, eax
shl esi, cl
mov ecx, eax
shr edi, cl
mov ecx, 0x20
or esi, edi
xor esi, edx
mov edi, esi
mov esi, ebx
mov eax, edi
mov dword [ebp - 0x78], edi
neg eax
and eax, 0x1f
sub ecx, eax
shl esi, cl
mov ecx, eax
mov eax, dword [ebp - 0x30]
shr ebx, cl
or esi, ebx
xor esi, edi
inc eax
mov ebx, esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x64], ebx
jmp 0x53f7d7
push 0x52e640
lea ecx, [ebp - 0x14]
call fcn.00515d10
jmp 0x53f71f
cmp eax, 1
jne 0x53f9a5
push 0x52e640
lea ecx, [ebp - 0x70]
call fcn.00515dfa
push ecx
mov byte [ebp - 4], 0x26
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x56f3a0
call fcn.00515c2c
lea edx, [ebp - 0xec]
push edx
call fcn.0053b412
add esp, 8
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x27
call fcn.00515cda
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x26
call fcn.00515c26
push 0x56f354
lea ecx, [ebp - 0x70]
call fcn.00515cda
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x70]
push eax
call fcn.00515cda
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea ecx, [ebp - 0xcc]
push esi
push ecx
lea ecx, [ebp - 0x14]
call fcn.00515eae
mov eax, dword [eax]
mov edx, dword [ebp - 0x70]
push eax
push edx
call edi
add esp, 8
lea ecx, [ebp - 0xcc]
test eax, eax
setne bl
call fcn.00515c26
test bl, bl
je 0x53f91a
mov dword [0x527fd0], 0x32
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea eax, [ebp - 0xac]
push esi
push eax
lea ecx, [ebp - 0x14]
call fcn.00515eae
push eax
mov ecx, 0x56f384
mov byte [ebp - 4], 0x28
call fcn.00515cb0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x26
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
lea ecx, [ebp - 0x14]
push ecx
mov ecx, 0x56f380
call fcn.00515cb0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x17
call fcn.00515c26
mov edi, dword [fcn.004b8054]
jmp 0x53f71f
cmp eax, 4
jne 0x53f9ec
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
lea edx, [ebp - 0xd4]
push eax
push edx
lea ecx, [ebp - 0x14]
call fcn.00515eae
push eax
mov ecx, 0x56f3a0
mov byte [ebp - 4], 0x29
call fcn.00515cb0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x17
call fcn.00515c26
jmp 0x53fb0a
cmp eax, 5
jne 0x53fb0a
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea eax, [ebp - 0xf4]
push esi
push eax
lea ecx, [ebp - 0x14]
call fcn.00515eae
push eax
mov ecx, 0x56f370
mov byte [ebp - 4], 0x2a
call fcn.00515cb0
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x17
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
lea ecx, [ebp - 0x14]
push ecx
mov ecx, 0x56f360
call fcn.00515cb0
mov dword [0x56f3a8], 0x50
jmp 0x53fb0a
mov eax, 0x7ffe0014
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
cmp ecx, edx
jne 0x53fa62
mov eax, dword [eax]
push 0
push 0x3e8
push ecx
push eax
call fcn.0055d7b2
push 0
push 0xa
push edx
push eax
call fcn.0055d7b2
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
cmp edx, esi
jb 0x53fa9b
sub edx, esi
jmp 0x53faa3
sub edx, esi
add edx, 0x418937
lea ecx, [edx + esi]
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x64]
cmp edx, eax
jne 0x53faec
mov eax, dword [ebp - 0x78]
cmp ecx, eax
jae 0x53faec
add ecx, 0x12c
cmp ecx, eax
jb 0x53faec
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x38]
cmp eax, ecx
jne 0x53faec
mov dword [0x527fdc], 0x3c
jmp 0x53fb0a
push 0x52e640
mov ecx, 0x56f360
call fcn.00515d10
mov eax, 0x32
mov dword [0x527fdc], eax
mov dword [0x527fd0], eax
mov dword [ebp - 0x30], 0x3f4
jmp 0x53fb21
call fcn.00518ce2
mov eax, dword [0x527fd0]
add ebx, eax
call ebx
call [ebx - 0x17]
mov ch, 0xf5
invalid
lea ecx, [ebp - 0xc0]
push 0x52802c
push ecx
call fcn.004dee82
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x2b
call fcn.00515c5c
cmp eax, 0xffffffff
lea ecx, [ebp - 0xc0]
setne bl
mov byte [ebp - 4], 0x17
call fcn.00515c26
test bl, bl
je 0x53fe3e
jmp 0x53fb88
mov edx, dword [esi]
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call dword [edx + 0x60]
mov eax, dword [ebp + 8]
cmp eax, 4
je 0x53fd1a
cmp eax, 5
je 0x53fd1a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 8]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x44], eax
call fcn.0050b002
push 0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2d
call fcn.00515c98
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x34]
push edx
push eax
call fcn.0050b1d2
mov edx, dword [ebp - 0x44]
mov ebx, eax
mov eax, dword [0x56f378]
push 0
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], edx
mov ecx, dword [eax - 8]
mov dword [ebp - 0x7c], ecx
mov ecx, 0x56f378
call fcn.00515c98
mov dword [ebp - 0x4c], eax
xor eax, eax
cmp eax, 0x100
jae 0x53fc12
mov byte [ebp + eax - 0x320], al
inc eax
jmp 0x53fc01
xor ecx, ecx
xor edx, edx
xor eax, eax
mov dword [ebp - 0x30], eax
cmp eax, 0x100
jae 0x53fc73
mov esi, dword [ebp - 0x4c]
lea edi, [ebp + eax - 0x320]
xor ebx, ebx
mov al, byte [edi]
mov bl, byte [ecx + esi]
mov esi, eax
and esi, 0xff
add esi, edx
inc ecx
lea edx, [esi + ebx]
mov esi, dword [ebp - 0x7c]
cmp ecx, esi
jb 0x53fc4a
xor ecx, ecx
mov esi, edx
and esi, 0xff
mov bl, byte [ebp + esi - 0x320]
lea esi, [ebp + esi - 0x320]
mov byte [edi], bl
mov ebx, dword [ebp - 0x88]
mov byte [esi], al
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
jmp 0x53fc1b
mov byte [ebp - 0x90], 0
mov byte [ebp - 0x8c], 0
xor esi, esi
cmp esi, dword [ebp - 0x84]
jae 0x53fcf9
mov al, byte [ebp - 0x8c]
mov dl, byte [ebp - 0x90]
inc al
mov byte [ebp - 0x8c], al
mov eax, dword [ebp - 0x8c]
and eax, 0xff
lea ecx, [ebp + eax - 0x320]
mov al, byte [ebp + eax - 0x320]
add dl, al
mov byte [ebp - 0x90], dl
mov edx, dword [ebp - 0x90]
and edx, 0xff
lea edi, [ebp + edx - 0x320]
mov dl, byte [ebp + edx - 0x320]
mov byte [ecx], dl
mov byte [edi], al
mov dl, byte [ecx]
mov cl, byte [esi + ebx]
add al, dl
and eax, 0xff
mov al, byte [ebp + eax - 0x320]
xor cl, al
mov byte [esi + ebx], cl
inc esi
jmp 0x53fc83
push ebx
lea ecx, [ebp - 0x14]
call fcn.00515d10
push ebx
call dword [fcn.004b802c]
add esp, 4
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x17
call fcn.004d0f02
jmp 0x53fd59
push 0
push ecx
lea edx, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x4c], esp
push edx
call fcn.00515c2c
lea eax, [ebp - 0xc8]
lea ecx, [ebp - 0x1378]
push eax
call fcn.00525c82
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2c
call fcn.00515cb0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x17
call fcn.00515c26
push 0
push 0x523828
lea ecx, [ebp - 0x14]
call fcn.005163d6
mov esi, eax
lea ecx, [ebp - 0xd0]
push esi
push ecx
lea ecx, [ebp - 0x14]
call fcn.00515eae
mov eax, dword [eax]
push eax
call dword [fcn.004b8058]
add esp, 4
lea ecx, [ebp - 0xd0]
mov edi, eax
call fcn.00515c26
inc esi
lea ecx, [ebp - 0x14]
push esi
push 0
call fcn.00515e06
lea edx, [ebp - 0x14]
mov ecx, 0x56f34c
push edx
call fcn.00515cb0
push 0
push 3
lea eax, [ebp - 0xd8]
push 0x524090
push eax
call fcn.004d4d02
add esp, 0x10
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2e
call fcn.00515cb0
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x17
call fcn.00515c26
test edi, edi
jne 0x53fe16
mov ecx, dword [ebp - 0x14]
push edi
push 4
push ecx
call fcn.005162b0
cmp eax, 7
jne 0x53fe16
push 0x523698
mov ecx, 0x56f350
call fcn.00515d10
mov edx, dword [ebp + 8]
push edx
call fcn.0053e382
add esp, 4
mov dword [ebp - 0x30], eax
jmp 0x53fe1d
mov dword [ebp - 0x30], 0x3f6
jmp 0x53fe2d
jmp 0x53f0eb
test esi, esi
mov dword [ebp - 4], 0x16
je 0x53fe60
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 4]
mov dword [ebp - 0x3c], 0
push 0
push 2
lea eax, [ebp - 0xe0]
push 0x524090
push eax
call fcn.004d4d02
add esp, 0x10
push eax
mov ecx, 0x56f364
mov byte [ebp - 4], 0x30
call fcn.00515cb0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x16
call fcn.00515c26
mov esi, dword [ebp - 0x98]
inc edi
mov dword [ebp - 0x30], 0x3f5
mov dword [ebp - 0x24], edi
jmp 0x53ef39