Function at 0x5936b8
Capabilities:
Delete file
Parse credit card information
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x31
push 0
push 0
dec ecx
jne 0x5936c0
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x114]
mov edx, dword [0x61ddbc]
call fcn.00403e48
lea eax, [ebp - 0x128]
mov edx, dword [0x5902f4]
call fcn.00403e48
lea eax, [ebp - 0x13c]
mov edx, dword [0x5902f4]
call fcn.00403e48
lea eax, [ebp - 0x150]
mov edx, dword [0x5902f4]
call fcn.00403e48
lea eax, [ebp - 0x164]
mov edx, dword [0x5902f4]
call fcn.00403e48
xor eax, eax
push ebp
push 0x595c92
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x5e
je 0x595bfd
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c], 0
jge 0x593753
mov eax, dword [ebp - 4]
cmp dword [eax + 0x24], 0
je 0x595bfd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x34]
mov edx, dword [ebp - 4]
mov dword [edx + 0x40], eax
mov al, byte [0x595ca4]
mov byte [ebp - 0x61], al
mov dword [ebp - 0xa8], 0xffffff9c
xor eax, eax
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc8]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 0
je 0x593c56
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
cmp al, 0x7f
ja 0x5937b0
and eax, 0xff
bt dword [0x66ebdc], eax
jae 0x593c56
or byte [ebp - 0x61], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x44
jne 0x5937e8
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
je 0x5938f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov al, byte [eax + 0x3c]
sub al, 0x4f
je 0x5937e8
sub al, 0x2a
jne 0x5938f8
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x4f
je 0x5937f6
sub al, 0x2a
jne 0x593811
mov edx, 0x44
mov eax, dword [ebp - 4]
call fcn.004b560c
mov edx, dword [0x672300]
cmp eax, dword [edx]
je 0x5938f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x6b
jne 0x59383d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x427], 0
jne 0x5938f8
mov eax, dword [ebp + 8]
cmp dword [eax - 0x30], 0
jne 0x5938f8
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x6d
je 0x59384b
sub al, 4
jne 0x593896
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x427], 0
jne 0x5938f8
mov eax, dword [ebp + 8]
cmp dword [eax - 0x30], 0
je 0x5938f8
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
jne 0x5938f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x3c], 0x75
jne 0x5938f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dl, 0x6b
call fcn.00591164
dec eax
jne 0x5938f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x75
jne 0x593901
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x427], 0
jne 0x5938f8
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
jne 0x5938f8
mov edx, 0x6d
mov eax, dword [ebp - 4]
call fcn.004b560c
mov edx, dword [0x672300]
cmp eax, dword [edx]
jne 0x5938eb
mov edx, 0x71
mov eax, dword [ebp - 4]
call fcn.004b560c
mov edx, dword [0x672300]
cmp eax, dword [edx]
je 0x5938f8
mov dl, 0x6b
mov eax, dword [ebp - 4]
call fcn.00591164
dec eax
je 0x593901
or byte [ebp - 0x61], 2
jmp 0x593c56
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x6d
jg 0x593926
je 0x593b8e
sub eax, 0x4f
je 0x593938
sub eax, 0x1c
je 0x593b2e
jmp 0x593c56
sub eax, 0x71
je 0x593b8e
sub eax, 8
jne 0x593c56
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
je 0x59397d
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.0065b28c
imul eax, eax, 0x2b
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0xc8]
cmp dword [edx + eax*4 + 0x18], 0x17
sete al
mov edx, dword [ebp - 4]
cmp byte [edx + 0x3c], 0x79
sete dl
cmp al, dl
je 0x593a36
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
jne 0x593996
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0xcc], edx
jmp 0x59399f
mov eax, dword [ebp + 8]
inc dword [eax - 0xcc]
mov dl, 1
mov eax, dword [0x543cb8]
call fcn.00562420
mov edx, dword [ebp + 8]
mov dword [edx - 0xc8], eax
mov dword [ebp - 0xbc], 8
imul eax, dword [ebp - 0xbc], 0x2b
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0xc8]
lea eax, [edx + eax*4 + 0x14]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 4], 0x80000000
imul ax, word [ebp - 0xbc], 0x168
add ax, 0x2d0
mov edx, dword [ebp - 0xc8]
mov word [edx + 0x6a], ax
mov eax, dword [ebp - 0xc8]
mov word [eax + 0x68], 0xfe98
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x5939be
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xc8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0x5fc]
call fcn.00656c78
jmp 0x593a3f
mov eax, dword [ebp + 8]
inc dword [eax - 0xcc]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.0065b28c
mov dword [ebp - 0xbc], eax
imul eax, dword [ebp - 0xbc], 0x2b
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0xc8]
lea eax, [edx + eax*4 + 0x14]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x4f
jne 0x593ab8
mov eax, dword [ebp - 0xcc]
xor edx, edx
mov dword [eax + 4], edx
lea eax, [ebp - 0x168]
mov dx, word [ebp - 0xbc]
call fcn.00403990
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0xcc]
add eax, 0x94
mov ecx, 0x595cac
call fcn.00403b24
jmp 0x593c56
mov eax, dword [ebp - 0xcc]
mov dword [eax + 4], 0x17
mov eax, dword [ebp - 0xbc]
mov ecx, 3
cdq
idiv ecx
xor eax, eax
mov al, byte [edx + 0x66ec58]
mov word [ebp - 0xbe], ax
mov eax, dword [ebp - 0xcc]
add eax, 0x94
mov dx, word [ebp - 0xbe]
call fcn.00403990
cmp word [ebp - 0xbe], 0xa7
jne 0x593b19
mov eax, dword [0x672628]
mov eax, dword [eax]
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0xc], eax
jmp 0x593c56
mov eax, dword [0x672618]
mov eax, dword [eax]
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0xc], eax
jmp 0x593c56
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xa8]
cmp dword [eax + 0x18], 1
jle 0x593b7b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx - 0x10]
mov edx, dword [edx + 0xa8]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 8]
cmp byte [eax + 0x3c], 0
je 0x593b7b
mov eax, dword [ebp + 8]
push eax
call fcn.005910bc
pop ecx
call fcn.00656a20
mov edx, dword [ebp + 8]
mov dword [edx - 0xd0], eax
jmp 0x593c56
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x30]
cmp dword [eax + 0xdc], 0x3f
jl 0x593bca
push ebp
call fcn.0059362c
pop ecx
mov dl, 1
mov eax, dword [0x54291c]
call fcn.00402898
mov edx, dword [ebp + 8]
mov dword [edx - 0x30], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x30]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
call fcn.00656c78
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x30]
imul eax, dword [eax + 0xdc], 0x27
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x30]
lea eax, [edx + eax*4 + 0xe0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x1c], 0xff
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x20], 0xff000000
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd0]
lea esi, [eax + 0x18]
lea edi, [edx + 0x34]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd0]
lea esi, [eax + 0x18]
lea edi, [edx + 0x50]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd0]
lea esi, [eax + 0x18]
lea edi, [edx + 0x6c]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.005934b8
pop ecx
test byte [ebp - 0x61], 1
jne 0x593c6c
mov eax, dword [ebp + 8]
cmp byte [eax - 0xd1], 0
je 0x593cfe
test byte [ebp - 0x61], 2
jne 0x593ca1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x75
jne 0x593ca1
mov dl, 1
mov eax, dword [0x54291c]
call fcn.00402898
mov edx, dword [ebp + 8]
mov dword [edx - 0x30], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x30]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
call fcn.00656c78
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
cmp dword [eax + 8], 0
jle 0x593cfe
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
je 0x593cf4
mov dl, 0x44
mov eax, dword [ebp - 4]
call fcn.00591164
test eax, eax
jle 0x593cf4
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x44
je 0x593cf4
sub al, 0xb
je 0x593cf4
sub al, 0x2a
je 0x593cf4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov al, 7
call fcn.0056874c
pop ecx
or byte [ebp - 0x61], 4
jmp 0x593cfe
mov eax, dword [ebp + 8]
push eax
call fcn.005910bc
pop ecx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x3e
jg 0x593d5e
je 0x593f67
cmp eax, 0x17
jg 0x593d3b
je 0x593e74
sub eax, 1
jb 0x593da9
sub eax, 8
je 0x593e4e
sub eax, 5
je 0x593e61
jmp 0x594008
sub eax, 0x25
je 0x593f54
add eax, 0xfffffff6
sub eax, 9
jb 0x593e87
sub eax, 4
je 0x593f54
jmp 0x594008
cmp eax, 0x65
jg 0x593d89
je 0x593e4e
sub eax, 0x53
je 0x593f7a
sub eax, 3
je 0x593f7a
sub eax, 0xb
je 0x593fa7
jmp 0x594008
sub eax, 0x6d
je 0x593fb7
sub eax, 4
je 0x593fb7
sub eax, 7
je 0x593ffa
jmp 0x594008
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00591164
test eax, eax
jne 0x594008
mov ecx, 0x675404
mov edx, 0x595cb8
mov eax, dword [ebp - 4]
call fcn.004b5414
test al, al
je 0x594008
cmp dword [0x675404], 0
je 0x594008
mov eax, dword [0x672428]
cmp dword [eax + 0x19c], 1
jne 0x593dfe
push ebp
mov edx, 0x595cc4
mov al, 0x2e
call fcn.00591284
pop ecx
mov eax, dword [0x672428]
cmp dword [eax + 0x1c0], 0xff000000
je 0x594008
push ebp
lea edx, [ebp - 0x16c]
mov eax, dword [0x672428]
mov eax, dword [eax + 0x1c0]
call fcn.004b3f44
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x168]
call fcn.00403a34
mov edx, dword [ebp - 0x168]
mov al, 0x16
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595cdc
mov al, 0x1d
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595cec
mov al, 0x1a
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595d00
mov al, 0x19
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595cdc
mov al, 0x1d
call fcn.00591284
pop ecx
push ebp
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
fild dword [eax*4 + 0x66eb54]
fld xword [0x595d14]
fmulp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x16c]
call fcn.0065dabc
lea eax, [ebp - 0x16c]
mov edx, 0x595d28
call fcn.00403524
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x168]
call fcn.00403a34
mov edx, dword [ebp - 0x168]
mov al, 0x1a
call fcn.00591284
pop ecx
test byte [ebp - 0x61], 2
jne 0x594008
push ebp
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
fild dword [eax*4 + 0x66eb78]
fld xword [0x595d14]
fmulp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x16c]
call fcn.0065dabc
lea eax, [ebp - 0x16c]
mov edx, 0x595d34
call fcn.00403524
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x168]
call fcn.00403a34
mov edx, dword [ebp - 0x168]
mov al, 0x22
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595d40
mov al, 0x1b
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595d54
mov al, 0x2e
call fcn.00591284
pop ecx
jmp 0x594008
test byte [ebp - 0x61], 2
jne 0x593f8e
push ebp
mov edx, 0x595d64
mov al, 0x22
call fcn.00591284
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x56
jne 0x594008
push ebp
mov edx, 0x595d00
mov al, 0x19
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595d74
mov al, 0x1a
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595d88
mov al, 0x34
call fcn.00591284
pop ecx
push ebp
mov edx, 0x595d9c
mov al, 0x15
call fcn.00591284
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x71
jne 0x594008
push ebp
mov edx, 0x595cdc
mov al, 0x1d
call fcn.00591284
pop ecx
push ebp
mov edx, 0x595da4
mov al, 0x2d
call fcn.00591284
pop ecx
jmp 0x594008
push ebp
mov edx, 0x595cc4
mov al, 0x2e
call fcn.00591284
pop ecx
push ebp
call fcn.005914a4
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
test eax, eax
jl 0x5942b4
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2c]
sub edx, eax
jl 0x5942b4
inc edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xbc], eax
mov eax, dword [0x672984]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0xbc]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x40]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edi, eax
test edi, edi
jl case.0x594087.0
mov eax, dword [0x6725c0]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0xbc]
lea ebx, [eax + edx*4]
mov eax, edi
and eax, 0x7f
cmp eax, 0x14
ja case.0x594087.0
mov al, byte [eax + 0x59408e]
jmp dword [eax*4 + 0x5940a3]
push ebp
mov edx, dword [ebx]
mov al, 0x2d
call fcn.00591284
pop ecx
jmp case.0x594087.0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x2a
jne case.0x594087.0
push ebp
mov edx, dword [ebx]
mov al, 0x16
call fcn.00591284
pop ecx
jmp case.0x594087.0
push ebp
mov edx, dword [ebx]
mov al, 1
call fcn.00591284
pop ecx
jmp case.0x594087.0
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x6d
je 0x59411a
sub al, 4
jne case.0x594087.0
test byte [ebp - 0x61], 2
jne case.0x594087.0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x30]
imul eax, dword [eax + 0xdc], 0x27
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x30]
lea eax, [edx + eax*4 + 0xe0]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x16c]
mov edx, dword [ebx]
call fcn.004034e4
mov eax, dword [ebp - 0x16c]
xor edx, edx
call fcn.0065daa4
call fcn.0065b29c
mov ebx, eax
mov eax, edi
cmp al, 5
jne 0x59417d
mov eax, dword [ebp - 0xd8]
mov word [eax + 0x94], bx
jmp case.0x594087.0
mov eax, dword [ebp - 0xd8]
mov word [eax + 0x96], bx
dec ebx
jle case.0x594087.0
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x17], 1
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x16], 1
jmp case.0x594087.0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x2a
jne case.0x594087.0
push ebp
mov edx, dword [ebx]
mov al, 0x19
call fcn.00591284
pop ecx
jmp case.0x594087.0
cmp dword [ebx], 0
je case.0x594087.0
mov edx, dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
call fcn.005e9918
test al, al
jne case.0x594087.0
mov dl, 1
mov eax, dword [0x543bd0]
call fcn.00402898
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x88]
add eax, 0x3c
mov edx, dword [ebx]
call fcn.004038bc
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0x590]
mov edx, dword [ebp - 0x88]
call fcn.00656c78
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, dword [ebp - 0x88]
mov dl, 0x1c
call fcn.00551cb4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, dword [ebp - 0x88]
mov dl, 0x1d
call fcn.00551cb4
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0x5cc]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp case.0x594087.0
push ebp
mov edx, dword [ebx]
mov al, 0x1e
call fcn.00591284
pop ecx
jmp case.0x594087.0
push ebp
mov eax, dword [ebx]
call fcn.00591330
pop ecx
jmp case.0x594087.0
push ebp
mov edx, dword [ebx]
mov al, 0x35
call fcn.00591284
pop ecx
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x594038
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x34]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x44], eax
push ebp
call fcn.00591d70
pop ecx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x44
je 0x5942de
sub al, 0xb
je 0x5942de
sub al, 0x2a
jne 0x594537
test byte [ebp - 0x61], 2
jne 0x594537
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x34]
dec edx
sub edx, eax
jl 0x594537
inc edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add al, 0xe0
sub al, 2
jae 0x594525
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.0065b28c
imul eax, eax, 0x2b
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0xc8]
lea esi, [edx + eax*4 + 0x14]
lea ecx, [ebp - 0x16c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x16c]
call fcn.00591188
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x59451a
inc eax
mov dword [ebp - 0xe0], eax
xor edi, edi
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + edi*4]
lea edx, [ebp - 0xc4]
call fcn.0065be38
mov ebx, 0xb
mov eax, dword [ebp - 0xc4]
xor edx, edx
mov dl, bl
mov edx, dword [edx*4 + 0x66ed28]
call fcn.0040362c
jne 0x594503
xor eax, eax
mov al, bl
cmp eax, 0xb
ja case.default.0x5943d0
jmp dword [eax*4 + 0x5943d7]
mov dword [esi + 4], 0x17
lea eax, [esi + 0x94]
mov edx, 0x595db8
call fcn.004038bc
mov eax, dword [0x672618]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.default.0x5943d0
xor eax, eax
mov dword [esi + 4], eax
jmp case.default.0x5943d0
mov dword [esi + 4], 0x16
jmp case.default.0x5943d0
mov dword [esi + 4], 0x17
lea eax, [esi + 0x94]
mov edx, 0x595dc0
call fcn.004038bc
mov eax, dword [0x672618]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.default.0x5943d0
mov dword [esi + 4], 4
jmp case.default.0x5943d0
mov dword [esi + 4], 0xff
lea eax, [esi + 0x94]
call fcn.00403880
jmp case.default.0x5943d0
mov dword [esi + 4], 2
jmp case.default.0x5943d0
mov dword [esi + 4], 0x17
lea eax, [esi + 0x94]
mov edx, 0x595dc8
call fcn.004038bc
mov eax, dword [0x672628]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.default.0x5943d0
mov dword [esi + 4], 3
jmp case.default.0x5943d0
mov dword [esi + 4], 1
mov eax, dword [esi + 4]
cmp eax, 0x17
je 0x59450d
cmp eax, 0xff
je 0x59450d
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.0065b28c
mov edx, eax
lea eax, [ebp - 0x168]
call fcn.00403990
mov edx, dword [ebp - 0x168]
lea eax, [esi + 0x94]
mov ecx, 0x595cac
call fcn.00403b24
jmp 0x59450d
dec ebx
cmp ebx, 0xffffffff
jne 0x5943a7
inc edi
dec dword [ebp - 0xe0]
jne 0x59438b
mov eax, dword [ebp - 0xdc]
call fcn.004028c0
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x59430a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x58
jne 0x594592
mov dl, 0x58
mov eax, dword [ebp - 4]
call fcn.00591164
inc eax
mov edi, eax
add edi, edi
cmp dword [ebp - 0x68], 0
jne 0x59456c
call fcn.006562d0
mov dword [ebp - 0x68], eax
jmp 0x59456c
mov edx, 0x595dd0
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebp - 0x68]
cmp edi, dword [eax + 0x24]
jg 0x59455f
dec edi
mov dword [ebp - 0xb8], edi
push ebp
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0xb8]
mov eax, dword [eax + edx*4 - 4]
call fcn.00593428
pop ecx
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00593428
pop ecx
xor eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x3e
jg 0x5945d5
je 0x594a89
sub eax, 1
jb 0x5945f5
sub eax, 0x10
je 0x59475e
sub eax, 0x29
je 0x594779
jmp 0x595494
sub eax, 0x6b
je 0x595357
sub eax, 2
je 0x595357
sub eax, 4
je 0x595357
jmp 0x595494
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00591164
test eax, eax
jne 0x595494
mov ecx, 0x675404
mov edx, 0x595cb8
mov eax, dword [ebp - 4]
call fcn.004b5414
test al, al
je 0x595494
cmp dword [0x675404], 0
je 0x595494
mov dx, 0x23
mov eax, dword [0x675404]
call fcn.0065b694
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x59465b
lea eax, [ebp - 0x7c]
mov edx, dword [0x675404]
call fcn.004038bc
jmp 0x594683
lea ecx, [ebp - 0x7c]
mov edx, dword [ebp - 0xbc]
dec edx
mov eax, dword [0x675404]
call fcn.0065c454
lea ecx, [ebp - 0x80]
mov edx, dword [ebp - 0xbc]
inc edx
mov eax, dword [0x675404]
call fcn.0065c4b0
cmp dword [ebp - 0x7c], 0
jne 0x594693
cmp dword [ebp - 0x80], 0
je 0x595494
mov dl, 1
mov eax, dword [0x543bd0]
call fcn.00402898
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov byte [eax + 4], 0
mov eax, dword [ebp - 0x88]
mov byte [eax + 5], 0x58
lea ecx, [ebp - 0x74]
mov edx, 0x595ddc
mov eax, dword [ebp - 4]
call fcn.004b5414
lea eax, [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x7c]
call fcn.0054607c
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x88]
add eax, 0x3c
call fcn.004038bc
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 0x18]
dec eax
mov edx, dword [ebp - 0x88]
mov dword [edx + 8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x88]
mov dword [edx + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0x590]
mov edx, dword [ebp - 0x88]
call fcn.00656c78
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, dword [ebp - 0x88]
mov dl, 0x1c
call fcn.00551cb4
jmp 0x595494
push ebp
call fcn.005933a0
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov al, 7
call fcn.0056874c
pop ecx
jmp 0x595494
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax - 0x10]
mov dl, 1
mov eax, dword [0x542c28]
call fcn.005605d0
mov esi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov edx, esi
call fcn.005fd0b0
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xe4], eax
mov ecx, 0x3e8
mov edx, 0x393
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
mov ecx, 0x808080
mov edx, 0x181
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
mov ecx, 1
mov edx, 0x394
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
mov ecx, 0x675404
mov edx, 0x595dec
mov eax, dword [ebp - 4]
call fcn.004b5414
test al, al
je 0x594871
lea eax, [ebp - 0x16c]
mov edx, dword [0x675404]
call fcn.004034e4
mov eax, dword [ebp - 0x16c]
mov edx, 0x595dfc
call fcn.0065bd6c
test eax, eax
jne 0x594837
xor ecx, ecx
mov edx, 0x394
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
jmp 0x594871
lea eax, [ebp - 0x16c]
mov edx, dword [0x675404]
call fcn.004034e4
mov eax, dword [ebp - 0x16c]
mov edx, 0x595e0c
call fcn.0065bd6c
test eax, eax
jne 0x594871
mov ecx, 2
mov edx, 0x394
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x34]
dec edx
sub edx, eax
jl 0x594a60
inc edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0x16c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x16c]
lea edx, [ebp - 0xc4]
call fcn.0065be38
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
sub al, 0x16
je 0x5948e1
sub al, 8
je 0x5948f9
sub al, 0x17
je 0x59497a
jmp 0x594a4e
mov ecx, dword [ebp - 0x24]
mov edx, 0x181
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
jmp 0x594a4e
push ebp
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0xc4]
call fcn.0059180c
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x128]
mov ecx, dword [0x5902f4]
call fcn.004040ec
cmp byte [ebp - 0x128], 0
je 0x594a4e
cmp dword [ebp - 0x118], 0
jle 0x594a4e
cmp dword [ebp - 0x118], 2
jl 0x594a4e
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x30]
cmp eax, dword [ebp - 0x118]
jg 0x594a4e
mov ecx, dword [ebp - 0x118]
mov edx, 0x395
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
jmp 0x594a4e
push ebp
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0xc4]
call fcn.0059180c
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x13c]
mov ecx, dword [0x5902f4]
call fcn.004040ec
cmp byte [ebp - 0x13c], 0
je 0x594a4e
fld xword [ebp - 0x13a]
fcomp dword [0x595ca4]
fnstsw ax
sahf
jbe 0x594a4e
cmp byte [ebp - 0x13b], 0
jne 0x594a03
fld xword [ebp - 0x13a]
fmul dword [0x595e14]
call fcn.00402588
mov ebx, eax
cmp ebx, 0xa
jl 0x594a4e
cmp ebx, 0x3e8
jg 0x594a4e
mov ecx, ebx
mov edx, 0x393
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
jmp 0x594a4e
cmp dword [ebp - 0x12c], 0
jle 0x594a4e
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xc4]
mov eax, dword [ebp - 0x12c]
call fcn.0065b28c
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov edx, 0x396
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
xor ecx, ecx
mov edx, 0x393
mov eax, dword [ebp - 0xe4]
call fcn.0055ff64
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x594893
mov eax, dword [esi + 0x24]
call fcn.004b2de0
mov eax, esi
call fcn.00561ae4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, esi
mov dl, 0x1b
call fcn.00551cb4
jmp 0x595494
lea eax, [ebp - 0x7c]
call fcn.00403880
mov ecx, 0x675400
mov edx, 0x595e20
mov eax, dword [ebp - 4]
call fcn.004b53c4
test al, al
je 0x594bff
lea eax, [ebp - 0x16c]
push eax
mov ecx, 0x595e30
mov edx, 0x595e3c
mov eax, dword [0x675400]
call fcn.0065c4e4
mov eax, dword [ebp - 0x16c]
call fcn.00656288
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
jg 0x594b0b
lea eax, [ebp - 0x16c]
push eax
mov cl, 0xd
mov dl, 0x2c
mov eax, dword [0x675400]
call fcn.0065b9cc
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0xe8]
call fcn.006575b4
mov edi, 0x80000000
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x24]
dec eax
cmp eax, 0
jl 0x594bf4
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
lea esi, [eax + edx*4]
mov eax, esi
call fcn.0065b940
cmp dword [esi], 0
je 0x594be1
lea eax, [ebp - 0x84]
call fcn.00403274
jmp 0x594b8a
mov eax, dword [esi]
call fcn.0065b8d8
mov edx, eax
lea eax, [ebp - 0x16c]
call fcn.00403418
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x84]
mov ecx, dword [ebp - 0x84]
call fcn.00403568
mov eax, esi
call fcn.0065b910
cmp dword [esi], 0
je 0x594b9a
mov eax, dword [esi]
call fcn.0065b8d8
cmp al, 0x20
jne 0x594b58
cmp dword [esi], 0
je 0x594ba6
mov eax, esi
call fcn.0065b910
mov eax, dword [ebp - 0x84]
call fcn.0040351c
dec eax
jle 0x594be1
lea eax, [ebp - 0x84]
call fcn.0065b910
mov edx, 0x80000000
mov eax, dword [ebp - 0x84]
call fcn.0065daa4
mov ebx, eax
cmp edi, ebx
jge 0x594be1
lea eax, [ebp - 0x7c]
mov edx, dword [esi]
call fcn.00403a34
mov edi, ebx
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x594b29
mov eax, dword [ebp - 0xe8]
call fcn.004028c0
cmp dword [ebp - 0x7c], 0
jne 0x594c1f
mov ecx, 0x675404
mov edx, 0x595e48
mov eax, dword [ebp - 4]
call fcn.004b5414
test al, al
je 0x595494
xor esi, esi
cmp dword [ebp - 0x7c], 0
jne 0x594c35
lea eax, [ebp - 0x7c]
mov edx, dword [0x675404]
call fcn.004038bc
mov edx, dword [ebp - 0x7c]
mov eax, 0x595e50
call fcn.0065c750
dec eax
jne 0x594ce6
mov edx, dword [ebp - 0x7c]
mov eax, 0x595e60
call fcn.0065c750
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jle 0x594f30
mov ecx, dword [ebp - 0xbc]
add ecx, 7
lea eax, [ebp - 0x7c]
mov edx, 1
call fcn.00403cb8
lea eax, [ebp - 0xc4]
mov edx, dword [ebp - 0x7c]
call fcn.004034e4
lea eax, [ebp - 0xc4]
call fcn.006252cc
cmp dword [ebp - 0xc4], 0
je 0x594f30
lea edx, [ebp - 0x78]
xor eax, eax
call fcn.006265c4
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x78]
call fcn.006261a0
mov al, byte [0x595e74]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov cl, 6
mov edx, dword [ebp - 0x78]
call fcn.005d7b3c
mov esi, eax
mov eax, dword [ebp - 0x78]
push eax
call sub.kernel32.dll_DeleteFileW
jmp 0x594f30
lea edx, [ebp - 0x114]
mov eax, dword [ebp - 0x7c]
call fcn.00629b00
cmp dword [ebp - 0x110], 0
je 0x594f30
cmp dword [ebp - 0x10c], 0
je 0x594f30
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.00535954
mov edx, dword [eax + 0x30]
lea eax, [ebp - 0x184]
call fcn.00403a34
mov eax, dword [ebp - 0x184]
lea ecx, [ebp - 0x114]
mov edx, dword [ebp - 0x7c]
call fcn.00629e18
mov eax, dword [ebp - 0x168]
mov ecx, 0x595e7c
mov edx, 0x595e84
call fcn.0065c5e8
lea eax, [ebp - 0x16c]
mov edx, dword [ebp - 0x114]
call fcn.004034e4
mov eax, dword [ebp - 0x16c]
mov edx, 0x595e94
call fcn.0040362c
je 0x594dbd
cmp dword [ebp - 0x114], 0
je 0x594dbd
mov eax, dword [ebp - 0x114]
call fcn.00403ab8
dec eax
jne 0x594e5a
lea eax, [ebp - 0x168]
push eax
mov cx, 0x5c
mov dx, 0x2f
mov eax, dword [ebp - 0x78]
call fcn.0065ba18
mov eax, dword [ebp - 0x168]
call fcn.0065cc54
test al, al
je 0x594e5a
mov eax, dword [ebp - 0x114]
call fcn.00403ab8
dec eax
jle 0x594de9
push dword [ebp - 0x110]
push 0x595ea0
push dword [ebp - 0x10c]
lea eax, [ebp - 0x78]
mov edx, 3
call fcn.00403b88
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x184]
push eax
mov cx, 0x5c
mov dx, 0x2f
mov eax, dword [ebp - 0x78]
call fcn.0065ba18
mov eax, dword [ebp - 0x184]
mov ecx, 0x595e7c
mov edx, 0x595e84
call fcn.0065c5e8
mov edx, dword [ebp - 0x168]
lea eax, [ebp - 0x78]
call fcn.004038bc
mov eax, dword [ebp - 0x78]
call fcn.0065cc54
test al, al
je 0x594f30
mov al, byte [0x595e74]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov cl, 6
mov edx, dword [ebp - 0x78]
call fcn.005d7b3c
mov esi, eax
jmp 0x594f30
mov eax, dword [0x672428]
test byte [eax + 0x209], 2
je 0x594f30
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x10c]
call fcn.0065d0b8
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x78]
call fcn.00626580
mov eax, dword [ebp - 0x78]
call fcn.00625d00
test al, al
jne 0x594ea1
lea edx, [ebp - 0x78]
xor eax, eax
call fcn.006265c4
cmp dword [ebp - 0x104], 0
je 0x594ecb
push dword [ebp - 0x10c]
push 0x595ea8
push dword [ebp - 0x104]
lea eax, [ebp - 0x10c]
mov edx, 3
call fcn.00403b88
mov eax, dword [ebp - 0x78]
push eax
push 0
mov al, byte [0x595e74]
push eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x114]
call fcn.0048ea4c
test al, al
je 0x594f30
call fcn.005397ec
or word [eax + 0x54], 0x1000
mov al, byte [0x595eac]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov cl, 6
mov edx, dword [ebp - 0x78]
call fcn.005d7b3c
mov esi, eax
call fcn.005397ec
and word [eax + 0x54], 0xefff
test esi, esi
jne 0x594f30
mov eax, dword [ebp - 0x78]
push eax
call sub.kernel32.dll_DeleteFileW
test esi, esi
je 0x595494
mov eax, dword [esi + 0x24]
mov dword [eax + 0x34], 0x80000000
mov eax, dword [esi + 0x24]
mov dword [eax + 0x38], 0x80000000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x34]
dec edx
sub edx, eax
jl 0x5950f7
inc edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0x16c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x16c]
lea edx, [ebp - 0xc4]
call fcn.0065be38
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
mov eax, edi
sub al, 0x17
je 0x594fc4
sub al, 7
je 0x595044
sub al, 0x17
je 0x595044
jmp 0x5950e5
mov eax, dword [ebp - 0xc4]
mov edx, 0x595dfc
call fcn.0040362c
jne 0x594ff7
mov eax, dword [esi + 0x24]
mov dword [eax + 0x44], 2
mov eax, dword [esi + 0x24]
mov ecx, 1
mov edx, 0x38f
call fcn.0055ff64
jmp 0x5950e5
mov eax, dword [ebp - 0xc4]
mov edx, 0x595e0c
call fcn.0040362c
jne 0x59502a
mov eax, dword [esi + 0x24]
mov dword [eax + 0x44], 2
mov eax, dword [esi + 0x24]
mov ecx, 3
mov edx, 0x38f
call fcn.0055ff64
jmp 0x5950e5
mov eax, dword [esi + 0x24]
xor edx, edx
mov dword [eax + 0x44], edx
mov eax, dword [esi + 0x24]
mov edx, 0x38f
call fcn.0055fffc
jmp 0x5950e5
mov eax, dword [ebp - 0xc4]
mov edx, 0x595eb8
call fcn.0040362c
jne 0x595074
mov eax, edi
cmp al, 0x1e
jne 0x595068
mov eax, dword [esi + 0x24]
mov dword [eax + 0x38], 0x80000000
jmp 0x5950e5
mov eax, dword [esi + 0x24]
mov dword [eax + 0x34], 0x80000000
jmp 0x5950e5
push ebp
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0xc4]
call fcn.0059180c
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x150]
mov ecx, dword [0x5902f4]
call fcn.004040ec
cmp dword [ebp - 0x140], 0
jle 0x5950e5
mov eax, edi
cmp al, 0x1e
jne 0x5950ca
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x30]
push eax
push 0x64
mov eax, dword [ebp - 0x140]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [esi + 0x24]
mov dword [edx + 0x38], eax
jmp 0x5950e5
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
push eax
push 0x64
mov eax, dword [ebp - 0x140]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [esi + 0x24]
mov dword [edx + 0x34], eax
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x594f6e
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x34], 0x80000000
jne 0x595125
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x38], 0x80000000
jne 0x595125
mov eax, dword [esi + 0x24]
mov dword [eax + 0x34], 0x64
mov eax, dword [esi + 0x24]
mov dword [eax + 0x38], 0x64
jmp 0x595157
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x34], 0x80000000
jne 0x59513f
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x38]
mov edx, dword [esi + 0x24]
mov dword [edx + 0x34], eax
jmp 0x595157
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x38], 0x80000000
jne 0x595157
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x34]
mov edx, dword [esi + 0x24]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
push eax
push 0x64
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc4]
push eax
call sub.kernel32.dll_MulDiv
mov dword [ebp - 0xa0], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x30]
push eax
push 0x64
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc0]
push eax
call sub.kernel32.dll_MulDiv
mov dword [ebp - 0xa4], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x34]
cmp eax, dword [ebp - 0xa0]
jg 0x5951b3
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebp - 0xa4]
jle 0x59524c
fild dword [ebp - 0xa0]
mov eax, dword [esi + 0x24]
fild dword [eax + 0x34]
fdivp st(1)
fstp qword [ebp - 0x94]
wait
fild dword [ebp - 0xa4]
mov eax, dword [esi + 0x24]
fild dword [eax + 0x38]
fdivp st(1)
fstp qword [ebp - 0x9c]
wait
fld qword [ebp - 0x9c]
fcomp qword [ebp - 0x94]
fnstsw ax
sahf
jae 0x595206
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x24]
fild dword [eax + 0x34]
fmul qword [ebp - 0x94]
call fcn.00402588
mov edx, eax
mov eax, 5
call fcn.0065b294
mov edx, dword [esi + 0x24]
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x24]
fild dword [eax + 0x38]
fmul qword [ebp - 0x94]
call fcn.00402588
mov edx, eax
mov eax, 5
call fcn.0065b294
mov edx, dword [esi + 0x24]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 0x24]
mov ecx, 1
mov edx, 0x78
call fcn.0055ff64
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x44], 2
jne 0x595336
mov eax, dword [esi + 0x24]
xor ecx, ecx
mov edx, 0x390
call fcn.0055ff64
mov eax, dword [esi + 0x24]
xor edx, edx
mov dword [eax + 0x54], edx
mov eax, dword [esi + 0x24]
xor edx, edx
mov dword [eax + 0x58], edx
push 0x64
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x34]
push eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [esi + 0x24]
mov dword [edx + 0x5c], eax
push 0x64
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x30]
push eax
call sub.kernel32.dll_MulDiv
mov edx, dword [esi + 0x24]
mov dword [edx + 0x60], eax
mov dl, 1
mov eax, dword [0x543bd0]
call fcn.00402898
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov byte [eax + 4], 7
mov eax, dword [ebp - 0x88]
mov dword [eax + 0x40], esi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0x590]
mov edx, dword [ebp - 0x88]
call fcn.00656c78
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, dword [ebp - 0x88]
mov dl, 0x1c
call fcn.00551cb4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, dword [ebp - 0x88]
mov dl, 0x1d
call fcn.00551cb4
jmp 0x595494
push ebp
call fcn.005933a0
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, esi
mov dl, 0x1b
call fcn.00551cb4
jmp 0x595494
test byte [ebp - 0x61], 2
jne 0x595494
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x6b
je 0x595388
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x30]
imul eax, dword [eax + 0xdc], 0x27
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x30]
mov dword [edx + eax*4 + 0xe0], 0x80000000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x34]
dec edx
sub edx, eax
jl 0x595494
inc edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
sub al, 0x35
jne 0x595482
push ebp
lea ecx, [ebp - 0x188]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x38]
mov edx, dword [ebp - 0xbc]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x188]
lea edx, [ebp - 0x16c]
call fcn.0065be38
mov eax, dword [ebp - 0x16c]
lea edx, [ebp - 0x180]
call fcn.0059180c
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x164]
mov ecx, dword [0x5902f4]
call fcn.004040ec
cmp byte [ebp - 0x164], 0
je 0x595482
fld xword [ebp - 0x162]
fcomp dword [0x595ca4]
fnstsw ax
sahf
jbe 0x595482
cmp byte [ebp - 0x163], 0
jne 0x595449
fld xword [ebp - 0x162]
call fcn.00402588
mov edi, eax
neg edi
jmp 0x59544f
mov edi, dword [ebp - 0x154]
cmp edi, 0x80000000
je 0x595482
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x6b
jne 0x595468
mov dword [ebp - 0xa8], edi
jmp 0x595482
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x30]
imul eax, dword [eax + 0xdc], 0x27
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x30]
mov dword [edx + eax*4 + 0xe0], edi
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x5953aa
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xa8]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
dec eax
test eax, eax
jl 0x5954f8
inc eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov eax, dword [eax + edx*4]
call fcn.005936b8
pop ecx
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x5954d1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x58
jne 0x595517
push ebp
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0xb8]
mov eax, dword [eax + edx*4]
call fcn.00593428
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xa8]
cmp ebx, dword [eax + 0x18]
jne 0x595543
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
cmp esi, dword [eax + 8]
jne 0x595543
push ebp
call fcn.005933a0
pop ecx
test byte [ebp - 0x61], 2
jne 0x595bbb
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x6d
jg 0x595584
je 0x595b40
sub eax, 1
jb 0x5955a4
sub eax, 0x43
je 0x59561b
sub eax, 0xb
je 0x595657
sub eax, 0x1c
je 0x59575b
jmp 0x595bbb
sub eax, 0x71
je 0x595b40
sub eax, 4
je 0x595b97
sub eax, 4
je 0x595657
jmp 0x595bbb
cmp dword [ebp - 0x88], 0
je 0x595bbb
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx - 0x10]
mov edx, dword [edx + 0xa8]
mov edx, dword [edx + 0x18]
dec edx
cmp eax, edx
jne 0x5955fd
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx - 0x6d0]
cmp eax, dword [edx + 8]
jne 0x5955fd
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov eax, 0x20
call fcn.00568728
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, dword [ebp - 0x88]
mov dl, 0x1d
call fcn.00551cb4
jmp 0x595bbb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xa8]
cmp ebx, dword [eax + 0x18]
jne 0x595bbb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
cmp esi, dword [eax + 8]
jne 0x595bbb
mov eax, dword [ebp + 8]
push eax
call fcn.005910bc
pop ecx
jmp 0x595bbb
mov dword [ebp - 0xbc], 8
imul eax, dword [ebp - 0xbc], 0x2b
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0xc8]
lea ebx, [edx + eax*4 + 0x14]
cmp dword [ebx + 4], 0x80000000
jne 0x59571e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x4f
jne 0x5956ba
xor eax, eax
mov dword [ebx + 4], eax
lea eax, [ebp - 0x168]
mov dx, word [ebp - 0xbc]
call fcn.00403990
mov edx, dword [ebp - 0x168]
lea eax, [ebx + 0x94]
mov ecx, 0x595cac
call fcn.00403b24
jmp 0x59571e
mov dword [ebx + 4], 0x17
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.0065b28c
mov ecx, 3
cdq
idiv ecx
xor eax, eax
mov al, byte [edx + 0x66ec58]
mov word [ebp - 0xbe], ax
lea eax, [ebx + 0x94]
mov dx, word [ebp - 0xbe]
call fcn.00403990
cmp word [ebp - 0xbe], 0xa7
jne 0x595714
mov eax, dword [0x672628]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
jmp 0x59571e
mov eax, dword [0x672618]
push ebx
xor eax, eax
mov ecx, dword [esp + 8]
and al, 8
xor ebx, ebx
jmp 0x595731
test dx, dx
je 0x595749
add eax, 1
movzx edx, word [ecx + eax*2]
cmp dx, 0x5c
jne 0x595729
mov ebx, eax
jmp 0x59572e
lea eax, [ecx + ebx*2 + 2]
pop ebx
ret
and al, 4
xor eax, eax
cmp word [edx], 0
je 0x595779
lea esi, [esi]
add eax, 1
cmp word [edx + eax*2], 0
jne 0x595769
ret
ret
add al, 0x24
add byte [eax], al
add byte [eax], al
call dword [sym.imp.kernel32.dll_ExitProcess]
push ebp
call fcn.005934b8
pop ecx
test al, al
jne 0x595b97
push ebp
call fcn.0059362c
pop ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0x30], edx
mov eax, dword [ebp + 8]
push eax
call fcn.005910bc
pop ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x8c]
mov dword [eax - 0xc8], edx
cmp dword [ebp - 0x68], 0
je 0x595bd8
mov eax, dword [ebp - 0x68]
call fcn.004028c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp + 8]
mov dword [edx - 0x34], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x10
je 0x595bfd
test byte [ebp - 0x61], 1
setne al
mov edx, dword [ebp + 8]
mov byte [edx - 0xd1], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595c9c
lea eax, [ebp - 0x188]
call fcn.00403274
lea eax, [ebp - 0x184]
call fcn.00403880
lea eax, [ebp - 0x180]
mov edx, dword [0x5902f4]
call fcn.00403f10
lea eax, [ebp - 0x16c]
call fcn.00403274
lea eax, [ebp - 0x168]
call fcn.00403880
lea eax, [ebp - 0x164]
mov edx, dword [0x5902f4]
mov ecx, 4
call fcn.00403f3c
lea eax, [ebp - 0x114]
mov edx, dword [0x61ddbc]
call fcn.00403f10
lea eax, [ebp - 0xc4]
call fcn.00403274
lea eax, [ebp - 0x84]
call fcn.00403274
lea eax, [ebp - 0x80]
mov edx, 5
call fcn.00403898
ret