Function at 0x595348
Capabilities:
Delete file
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x31
push 0
push 0
dec ecx
jne 0x595350
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x114]
mov edx, dword [0x619f3c]
call fcn.00403e48
lea eax, [ebp - 0x128]
mov edx, dword [0x591fb0]
call fcn.00403e48
lea eax, [ebp - 0x13c]
mov edx, dword [0x591fb0]
call fcn.00403e48
lea eax, [ebp - 0x150]
mov edx, dword [0x591fb0]
call fcn.00403e48
lea eax, [ebp - 0x164]
mov edx, dword [0x591fb0]
call fcn.00403e48
xor eax, eax
push ebp
push 0x5978c8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x5e
je 0x597833
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c], 0
jge 0x5953e3
mov eax, dword [ebp - 4]
cmp dword [eax + 0x24], 0
je 0x597833
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x34]
mov edx, dword [ebp - 4]
mov dword [edx + 0x40], eax
mov al, byte [0x5978dc]
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 0x5958df
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
cmp al, 0x7f
ja 0x595440
and eax, 0xff
bt dword [0x66e598], eax
jae 0x5958df
or byte [ebp - 0x61], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x44
jne 0x595478
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
je 0x595588
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov al, byte [eax + 0x3c]
sub al, 0x4f
je 0x595478
sub al, 0x2a
jne 0x595588
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x4f
je 0x595486
sub al, 0x2a
jne 0x5954a1
mov edx, 0x44
mov eax, dword [ebp - 4]
call fcn.004c4194
mov edx, dword [0x672138]
cmp eax, dword [edx]
je 0x595588
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x6b
jne 0x5954cd
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x430], 0
jne 0x595588
mov eax, dword [ebp + 8]
cmp dword [eax - 0x30], 0
jne 0x595588
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x6d
je 0x5954db
sub al, 4
jne 0x595526
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x430], 0
jne 0x595588
mov eax, dword [ebp + 8]
cmp dword [eax - 0x30], 0
je 0x595588
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
jne 0x595588
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x3c], 0x75
jne 0x595588
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dl, 0x6b
call fcn.00592dfc
dec eax
jne 0x595588
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x75
jne 0x595591
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x430], 0
jne 0x595588
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
jne 0x595588
mov edx, 0x6d
mov eax, dword [ebp - 4]
call fcn.004c4194
mov edx, dword [0x672138]
cmp eax, dword [edx]
jne 0x59557b
mov edx, 0x71
mov eax, dword [ebp - 4]
call fcn.004c4194
mov edx, dword [0x672138]
cmp eax, dword [edx]
je 0x595588
mov dl, 0x6b
mov eax, dword [ebp - 4]
call fcn.00592dfc
dec eax
je 0x595591
or byte [ebp - 0x61], 2
jmp 0x5958df
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x6d
jg 0x5955b6
je 0x595817
sub eax, 0x4f
je 0x5955c8
sub eax, 0x1c
je 0x5957b7
jmp 0x5958df
sub eax, 0x71
je 0x595817
sub eax, 8
jne 0x5958df
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
je 0x59560d
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.00656b70
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 0x5956bf
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
jne 0x595626
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0xcc], edx
jmp 0x59562f
mov eax, dword [ebp + 8]
inc dword [eax - 0xcc]
call fcn.0054a774
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 0x595647
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 + 0x604]
call fcn.00652038
jmp 0x5956c8
mov eax, dword [ebp + 8]
inc dword [eax - 0xcc]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.00656b70
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 0x595741
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, 0x5978e4
call fcn.00403b24
jmp 0x5958df
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 + 0x66e614]
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 0x5957a2
mov eax, dword [0x67299c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0xc], eax
jmp 0x5958df
mov eax, dword [0x672984]
mov eax, dword [eax]
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0xc], eax
jmp 0x5958df
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xb0]
cmp dword [eax + 0x18], 1
jle 0x595804
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xb0]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx - 0x10]
mov edx, dword [edx + 0xb0]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4 - 8]
cmp byte [eax + 0x3c], 0
je 0x595804
mov eax, dword [ebp + 8]
push eax
call fcn.00592d64
pop ecx
call fcn.00651de8
mov edx, dword [ebp + 8]
mov dword [edx - 0xd0], eax
jmp 0x5958df
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x30]
cmp dword [eax + 0xdc], 0x3f
jl 0x595853
push ebp
call fcn.005952bc
pop ecx
mov dl, 1
mov eax, dword [0x545338]
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.00652038
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.00595148
pop ecx
test byte [ebp - 0x61], 1
jne 0x5958f5
mov eax, dword [ebp + 8]
cmp byte [eax - 0xd1], 0
je 0x595987
test byte [ebp - 0x61], 2
jne 0x59592a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x75
jne 0x59592a
mov dl, 1
mov eax, dword [0x545338]
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.00652038
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
cmp dword [eax + 8], 0
jle 0x595987
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc8], 0
je 0x59597d
mov dl, 0x44
mov eax, dword [ebp - 4]
call fcn.00592dfc
test eax, eax
jle 0x59597d
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x44
je 0x59597d
sub al, 0xb
je 0x59597d
sub al, 0x2a
je 0x59597d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov al, 7
call fcn.0056a928
pop ecx
or byte [ebp - 0x61], 4
jmp 0x595987
mov eax, dword [ebp + 8]
push eax
call fcn.00592d64
pop ecx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x3e
jg 0x5959e7
je 0x595be7
cmp eax, 0x17
jg 0x5959c4
je 0x595af4
sub eax, 1
jb 0x595a32
sub eax, 8
je 0x595ace
sub eax, 5
je 0x595ae1
jmp 0x595c88
sub eax, 0x25
je 0x595bd4
add eax, 0xfffffff6
sub eax, 9
jb 0x595b07
sub eax, 4
je 0x595bd4
jmp 0x595c88
cmp eax, 0x65
jg 0x595a12
je 0x595ace
sub eax, 0x53
je 0x595bfa
sub eax, 3
je 0x595bfa
sub eax, 0xb
je 0x595c27
jmp 0x595c88
sub eax, 0x6d
je 0x595c37
sub eax, 4
je 0x595c37
sub eax, 7
je 0x595c7a
jmp 0x595c88
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00592dfc
test eax, eax
jne 0x595c88
mov ecx, 0x676530
mov edx, 0x5978f0
mov eax, dword [ebp - 4]
call fcn.004c3f78
test al, al
je 0x595c88
cmp dword [0x676530], 0
je 0x595c88
mov eax, dword [0x671c18]
cmp dword [eax + 0x20], 1
jne 0x595a84
push ebp
mov edx, 0x5978fc
mov al, 0x2e
call fcn.00592f1c
pop ecx
mov eax, dword [0x671c18]
cmp dword [eax + 0x44], 0xff000000
je 0x595c88
push ebp
lea edx, [ebp - 0x16c]
mov eax, dword [0x671c18]
mov eax, dword [eax + 0x44]
call fcn.004c29ec
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x168]
call fcn.00403a34
mov edx, dword [ebp - 0x168]
mov al, 0x16
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x597914
mov al, 0x1d
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x597924
mov al, 0x1a
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x597938
mov al, 0x19
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x597914
mov al, 0x1d
call fcn.00592f1c
pop ecx
push ebp
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
fild dword [eax*4 + 0x66e510]
fld xword [0x59794c]
fmulp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x16c]
call fcn.00659364
lea eax, [ebp - 0x16c]
mov edx, 0x597960
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.00592f1c
pop ecx
test byte [ebp - 0x61], 2
jne 0x595c88
push ebp
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
fild dword [eax*4 + 0x66e534]
fld xword [0x59794c]
fmulp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x16c]
call fcn.00659364
lea eax, [ebp - 0x16c]
mov edx, 0x59796c
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.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x597978
mov al, 0x1b
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x59798c
mov al, 0x2e
call fcn.00592f1c
pop ecx
jmp 0x595c88
test byte [ebp - 0x61], 2
jne 0x595c0e
push ebp
mov edx, 0x59799c
mov al, 0x22
call fcn.00592f1c
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x56
jne 0x595c88
push ebp
mov edx, 0x597938
mov al, 0x19
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x5979ac
mov al, 0x1a
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x5979c0
mov al, 0x34
call fcn.00592f1c
pop ecx
push ebp
mov edx, 0x5979d4
mov al, 0x15
call fcn.00592f1c
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x71
jne 0x595c88
push ebp
mov edx, 0x597914
mov al, 0x1d
call fcn.00592f1c
pop ecx
push ebp
mov edx, 0x5979dc
mov al, 0x2d
call fcn.00592f1c
pop ecx
jmp 0x595c88
push ebp
mov edx, 0x5978fc
mov al, 0x2e
call fcn.00592f1c
pop ecx
push ebp
call fcn.0059313c
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
test eax, eax
jl 0x595f2b
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2c]
sub edx, eax
jl 0x595f2b
inc edx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xbc], eax
mov eax, dword [0x673354]
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.0x595d07.0
mov eax, dword [0x6728a0]
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.0x595d07.0
mov al, byte [eax + 0x595d0e]
jmp dword [eax*4 + 0x595d23]
push ebp
mov edx, dword [ebx]
mov al, 0x2d
call fcn.00592f1c
pop ecx
jmp case.0x595d07.0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x2a
jne case.0x595d07.0
push ebp
mov edx, dword [ebx]
mov al, 0x16
call fcn.00592f1c
pop ecx
jmp case.0x595d07.0
push ebp
mov edx, dword [ebx]
mov al, 1
call fcn.00592f1c
pop ecx
jmp case.0x595d07.0
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x6d
je 0x595d9a
sub al, 4
jne case.0x595d07.0
test byte [ebp - 0x61], 2
jne case.0x595d07.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.0065934c
call fcn.00656b80
mov ebx, eax
mov eax, edi
cmp al, 5
jne 0x595dfd
mov eax, dword [ebp - 0xd8]
mov word [eax + 0x94], bx
jmp case.0x595d07.0
mov eax, dword [ebp - 0xd8]
mov word [eax + 0x96], bx
dec ebx
jle case.0x595d07.0
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x17], 1
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x16], 1
jmp case.0x595d07.0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x2a
jne case.0x595d07.0
push ebp
mov edx, dword [ebx]
mov al, 0x19
call fcn.00592f1c
pop ecx
jmp case.0x595d07.0
cmp dword [ebx], 0
je case.0x595d07.0
mov edx, dword [ebx]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
call fcn.005e811c
test al, al
jne case.0x595d07.0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
cmp byte [eax + 0x42d], 0
jne case.0x595d07.0
mov eax, dword [ebx]
call fcn.0054a74c
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0x598]
mov edx, dword [ebp - 0x88]
call fcn.00652038
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.005545d4
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.005545d4
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 + 0x5d4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
jmp case.0x595d07.0
push ebp
mov edx, dword [ebx]
mov al, 0x1e
call fcn.00592f1c
pop ecx
jmp case.0x595d07.0
push ebp
mov eax, dword [ebx]
call fcn.00592fc8
pop ecx
jmp case.0x595d07.0
push ebp
mov edx, dword [ebx]
mov al, 0x35
call fcn.00592f1c
pop ecx
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x595cb8
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.00593a08
pop ecx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3c]
sub al, 0x44
je 0x595f55
sub al, 0xb
je 0x595f55
sub al, 0x2a
jne 0x5961ae
test byte [ebp - 0x61], 2
jne 0x5961ae
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 0x5961ae
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 0x59619c
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.00656b70
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.00592e20
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x24]
dec eax
test eax, eax
jl 0x596191
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.00657780
mov ebx, 0xb
mov eax, dword [ebp - 0xc4]
xor edx, edx
mov dl, bl
mov edx, dword [edx*4 + 0x66e6e4]
call fcn.0040362c
jne 0x59617a
xor eax, eax
mov al, bl
cmp eax, 0xb
ja case.default.0x596047
jmp dword [eax*4 + 0x59604e]
mov dword [esi + 4], 0x17
lea eax, [esi + 0x94]
mov edx, 0x5979f0
call fcn.004038bc
mov eax, dword [0x672984]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.default.0x596047
xor eax, eax
mov dword [esi + 4], eax
jmp case.default.0x596047
mov dword [esi + 4], 0x16
jmp case.default.0x596047
mov dword [esi + 4], 0x17
lea eax, [esi + 0x94]
mov edx, 0x5979f8
call fcn.004038bc
mov eax, dword [0x672984]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.default.0x596047
mov dword [esi + 4], 4
jmp case.default.0x596047
mov dword [esi + 4], 0xff
lea eax, [esi + 0x94]
call fcn.00403880
jmp case.default.0x596047
mov dword [esi + 4], 2
jmp case.default.0x596047
mov dword [esi + 4], 0x17
lea eax, [esi + 0x94]
mov edx, 0x597a00
call fcn.004038bc
mov eax, dword [0x67299c]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.default.0x596047
mov dword [esi + 4], 3
jmp case.default.0x596047
mov dword [esi + 4], 1
mov eax, dword [esi + 4]
cmp eax, 0x17
je 0x596184
cmp eax, 0xff
je 0x596184
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.00656b70
mov edx, eax
lea eax, [ebp - 0x168]
call fcn.00403990
mov edx, dword [ebp - 0x168]
lea eax, [esi + 0x94]
mov ecx, 0x5978e4
call fcn.00403b24
jmp 0x596184
dec ebx
cmp ebx, 0xffffffff
jne 0x59601e
inc edi
dec dword [ebp - 0xe0]
jne 0x596002
mov eax, dword [ebp - 0xdc]
call fcn.004028c0
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x595f81
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x58
jne 0x596209
mov dl, 0x58
mov eax, dword [ebp - 4]
call fcn.00592dfc
inc eax
mov edi, eax
add edi, edi
cmp dword [ebp - 0x68], 0
jne 0x5961e3
call fcn.00650ca0
mov dword [ebp - 0x68], eax
jmp 0x5961e3
mov edx, 0x597a08
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebp - 0x68]
cmp edi, dword [eax + 0x24]
jg 0x5961d6
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.005950b8
pop ecx
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.005950b8
pop ecx
xor eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x3e
jg 0x59624c
je 0x5966e7
sub eax, 1
jb 0x59626c
sub eax, 0x10
je 0x5963bc
sub eax, 0x29
je 0x5963d7
jmp 0x5970ca
sub eax, 0x6b
je 0x596f8d
sub eax, 2
je 0x596f8d
sub eax, 4
je 0x596f8d
jmp 0x5970ca
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00592dfc
test eax, eax
jne 0x5970ca
mov ecx, 0x676530
mov edx, 0x5978f0
mov eax, dword [ebp - 4]
call fcn.004c3f78
test al, al
je 0x5970ca
cmp dword [0x676530], 0
je 0x5970ca
mov dx, 0x23
mov eax, dword [0x676530]
call fcn.00656f88
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x5962d2
lea eax, [ebp - 0x7c]
mov edx, dword [0x676530]
call fcn.004038bc
jmp 0x5962fa
lea ecx, [ebp - 0x7c]
mov edx, dword [ebp - 0xbc]
dec edx
mov eax, dword [0x676530]
call fcn.00657d9c
lea ecx, [ebp - 0x80]
mov edx, dword [ebp - 0xbc]
inc edx
mov eax, dword [0x676530]
call fcn.00657df8
cmp dword [ebp - 0x7c], 0
jne 0x59630a
cmp dword [ebp - 0x80], 0
je 0x5970ca
mov al, 0x58
call fcn.0054a738
mov dword [ebp - 0x88], eax
lea ecx, [ebp - 0x74]
mov edx, 0x597a14
mov eax, dword [ebp - 4]
call fcn.004c3f78
lea eax, [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x7c]
call fcn.005489b0
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 + 0xb0]
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 + 0x598]
mov edx, dword [ebp - 0x88]
call fcn.00652038
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.005545d4
jmp 0x5970ca
push ebp
call fcn.00595030
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov al, 7
call fcn.0056a928
pop ecx
jmp 0x5970ca
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax - 0x10]
mov dl, 1
mov eax, dword [0x545644]
call fcn.00562d54
mov esi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov edx, esi
call fcn.005fadfc
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xe4], eax
mov ecx, 0x3e8
mov edx, 0x393
mov eax, dword [ebp - 0xe4]
call fcn.00562760
mov ecx, 0x808080
mov edx, 0x181
mov eax, dword [ebp - 0xe4]
call fcn.00562760
mov ecx, 1
mov edx, 0x394
mov eax, dword [ebp - 0xe4]
call fcn.00562760
mov ecx, 0x676530
mov edx, 0x597a24
mov eax, dword [ebp - 4]
call fcn.004c3f78
test al, al
je 0x5964cf
lea eax, [ebp - 0x16c]
mov edx, dword [0x676530]
call fcn.004034e4
mov eax, dword [ebp - 0x16c]
mov edx, 0x597a34
call fcn.006576b4
test eax, eax
jne 0x596495
xor ecx, ecx
mov edx, 0x394
mov eax, dword [ebp - 0xe4]
call fcn.00562760
jmp 0x5964cf
lea eax, [ebp - 0x16c]
mov edx, dword [0x676530]
call fcn.004034e4
mov eax, dword [ebp - 0x16c]
mov edx, 0x597a44
call fcn.006576b4
test eax, eax
jne 0x5964cf
mov ecx, 2
mov edx, 0x394
mov eax, dword [ebp - 0xe4]
call fcn.00562760
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 0x5966be
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.00657780
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 0x59653f
sub al, 8
je 0x596557
sub al, 0x17
je 0x5965d8
jmp 0x5966ac
mov ecx, dword [ebp - 0x24]
mov edx, 0x181
mov eax, dword [ebp - 0xe4]
call fcn.00562760
jmp 0x5966ac
push ebp
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0xc4]
call fcn.005934a4
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x128]
mov ecx, dword [0x591fb0]
call fcn.004040ec
cmp byte [ebp - 0x128], 0
je 0x5966ac
cmp dword [ebp - 0x118], 0
jle 0x5966ac
cmp dword [ebp - 0x118], 2
jl 0x5966ac
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x30]
cmp eax, dword [ebp - 0x118]
jg 0x5966ac
mov ecx, dword [ebp - 0x118]
mov edx, 0x395
mov eax, dword [ebp - 0xe4]
call fcn.00562760
jmp 0x5966ac
push ebp
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0xc4]
call fcn.005934a4
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x13c]
mov ecx, dword [0x591fb0]
call fcn.004040ec
cmp byte [ebp - 0x13c], 0
je 0x5966ac
fld xword [ebp - 0x13a]
fcomp dword [0x5978dc]
fnstsw ax
sahf
jbe 0x5966ac
cmp byte [ebp - 0x13b], 0
jne 0x596661
fld xword [ebp - 0x13a]
fmul dword [0x597a4c]
call fcn.00402588
mov ebx, eax
cmp ebx, 0xa
jl 0x5966ac
cmp ebx, 0x3e8
jg 0x5966ac
mov ecx, ebx
mov edx, 0x393
mov eax, dword [ebp - 0xe4]
call fcn.00562760
jmp 0x5966ac
cmp dword [ebp - 0x12c], 0
jle 0x5966ac
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xc4]
mov eax, dword [ebp - 0x12c]
call fcn.00656b70
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov edx, 0x396
mov eax, dword [ebp - 0xe4]
call fcn.00562760
xor ecx, ecx
mov edx, 0x393
mov eax, dword [ebp - 0xe4]
call fcn.00562760
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x5964f1
mov eax, dword [esi + 0x24]
call fcn.004c1a38
mov eax, esi
call fcn.00564230
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
mov ecx, esi
mov dl, 0x1b
call fcn.005545d4
jmp 0x5970ca
lea eax, [ebp - 0x7c]
call fcn.00403880
mov ecx, 0x67652c
mov edx, 0x597a58
mov eax, dword [ebp - 4]
call fcn.004c3f28
test al, al
je 0x59685d
lea eax, [ebp - 0x16c]
push eax
mov ecx, 0x597a68
mov edx, 0x597a74
mov eax, dword [0x67652c]
call fcn.00657e2c
mov eax, dword [ebp - 0x16c]
call fcn.00650c58
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
jg 0x596769
lea eax, [ebp - 0x16c]
push eax
mov cl, 0xd
mov dl, 0x2c
mov eax, dword [0x67652c]
call fcn.006572c0
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0xe8]
call fcn.006529a8
mov edi, 0x80000000
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x24]
dec eax
cmp eax, 0
jl 0x596852
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.00657234
cmp dword [esi], 0
je 0x59683f
lea eax, [ebp - 0x84]
call fcn.00403274
jmp 0x5967e8
mov eax, dword [esi]
call fcn.006571cc
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.00657204
cmp dword [esi], 0
je 0x5967f8
mov eax, dword [esi]
call fcn.006571cc
cmp al, 0x20
jne 0x5967b6
cmp dword [esi], 0
je 0x596804
mov eax, esi
call fcn.00657204
mov eax, dword [ebp - 0x84]
call fcn.0040351c
dec eax
jle 0x59683f
lea eax, [ebp - 0x84]
call fcn.00657204
mov edx, 0x80000000
mov eax, dword [ebp - 0x84]
call fcn.0065934c
mov ebx, eax
cmp edi, ebx
jge 0x59683f
lea eax, [ebp - 0x7c]
mov edx, dword [esi]
call fcn.00403a34
mov edi, ebx
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x596787
mov eax, dword [ebp - 0xe8]
call fcn.004028c0
cmp dword [ebp - 0x7c], 0
jne 0x59687d
mov ecx, 0x676530
mov edx, 0x597a80
mov eax, dword [ebp - 4]
call fcn.004c3f78
test al, al
je 0x5970ca
xor esi, esi
cmp dword [ebp - 0x7c], 0
jne 0x596893
lea eax, [ebp - 0x7c]
mov edx, dword [0x676530]
call fcn.004038bc
mov edx, dword [ebp - 0x7c]
mov eax, 0x597a88
call fcn.00658094
dec eax
jne 0x596944
mov edx, dword [ebp - 0x7c]
mov eax, 0x597a98
call fcn.00658094
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jle 0x596b75
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.0061f064
cmp dword [ebp - 0xc4], 0
je 0x596b75
lea edx, [ebp - 0x78]
xor eax, eax
call fcn.006202a0
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x78]
call fcn.0061fe88
mov al, byte [0x597aac]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov cl, 7
mov edx, dword [ebp - 0x78]
call fcn.005d69f8
mov esi, eax
mov eax, dword [ebp - 0x78]
push eax
call sub.kernel32.dll_DeleteFileW
jmp 0x596b75
lea edx, [ebp - 0x114]
mov eax, dword [ebp - 0x7c]
call fcn.00623a68
cmp dword [ebp - 0x110], 0
je 0x596b75
cmp dword [ebp - 0x10c], 0
je 0x596b75
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.0053999c
mov edx, dword [eax + 0x2c]
lea eax, [ebp - 0x184]
call fcn.00403a34
mov eax, dword [ebp - 0x184]
lea ecx, [ebp - 0x114]
mov edx, dword [ebp - 0x7c]
call fcn.00623d80
mov eax, dword [ebp - 0x168]
mov ecx, 0x597ab4
mov edx, 0x597abc
call fcn.00657f30
lea eax, [ebp - 0x16c]
mov edx, dword [ebp - 0x114]
call fcn.004034e4
mov eax, dword [ebp - 0x16c]
mov edx, 0x597acc
call fcn.0040362c
je 0x596a1b
cmp dword [ebp - 0x114], 0
je 0x596a1b
mov eax, dword [ebp - 0x114]
call fcn.00403ab8
dec eax
jne 0x596ab8
lea eax, [ebp - 0x168]
push eax
mov cx, 0x5c
mov dx, 0x2f
mov eax, dword [ebp - 0x78]
call fcn.0065730c
mov eax, dword [ebp - 0x168]
call fcn.006584d0
test al, al
je 0x596ab8
mov eax, dword [ebp - 0x114]
call fcn.00403ab8
dec eax
jle 0x596a47
push dword [ebp - 0x110]
push 0x597ad8
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.0065730c
mov eax, dword [ebp - 0x184]
mov ecx, 0x597ab4
mov edx, 0x597abc
call fcn.00657f30
mov edx, dword [ebp - 0x168]
lea eax, [ebp - 0x78]
call fcn.004038bc
mov eax, dword [ebp - 0x78]
call fcn.006584d0
test al, al
je 0x596b75
mov al, byte [0x597aac]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov cl, 7
mov edx, dword [ebp - 0x78]
call fcn.005d69f8
mov esi, eax
jmp 0x596b75
mov eax, dword [0x671c60]
test byte [eax + 1], 2
je 0x596b75
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x10c]
call fcn.00658934
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x78]
call fcn.0062025c
mov eax, dword [ebp - 0x78]
call fcn.0061fa5c
test al, al
jne 0x596afc
lea edx, [ebp - 0x78]
xor eax, eax
call fcn.006202a0
cmp dword [ebp - 0x104], 0
je 0x596b26
push dword [ebp - 0x10c]
push 0x597ae0
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 [0x597aac]
push eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x114]
call fcn.00438acc
test al, al
je 0x596b75
mov al, byte [0x597ae4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov cl, 7
mov edx, dword [ebp - 0x78]
call fcn.005d69f8
mov esi, eax
test esi, esi
jne 0x596b75
mov eax, dword [ebp - 0x78]
push eax
call sub.kernel32.dll_DeleteFileW
test esi, esi
je 0x5970ca
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 0x596d3c
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.00657780
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 0x596c09
sub al, 7
je 0x596c89
sub al, 0x17
je 0x596c89
jmp 0x596d2a
mov eax, dword [ebp - 0xc4]
mov edx, 0x597a34
call fcn.0040362c
jne 0x596c3c
mov eax, dword [esi + 0x24]
mov dword [eax + 0x44], 2
mov eax, dword [esi + 0x24]
mov ecx, 1
mov edx, 0x38f
call fcn.00562760
jmp 0x596d2a
mov eax, dword [ebp - 0xc4]
mov edx, 0x597a44
call fcn.0040362c
jne 0x596c6f
mov eax, dword [esi + 0x24]
mov dword [eax + 0x44], 2
mov eax, dword [esi + 0x24]
mov ecx, 3
mov edx, 0x38f
call fcn.00562760
jmp 0x596d2a
mov eax, dword [esi + 0x24]
xor edx, edx
mov dword [eax + 0x44], edx
mov eax, dword [esi + 0x24]
mov edx, 0x38f
call fcn.005627f8
jmp 0x596d2a
mov eax, dword [ebp - 0xc4]
mov edx, 0x597af0
call fcn.0040362c
jne 0x596cb9
mov eax, edi
cmp al, 0x1e
jne 0x596cad
mov eax, dword [esi + 0x24]
mov dword [eax + 0x38], 0x80000000
jmp 0x596d2a
mov eax, dword [esi + 0x24]
mov dword [eax + 0x34], 0x80000000
jmp 0x596d2a
push ebp
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0xc4]
call fcn.005934a4
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x150]
mov ecx, dword [0x591fb0]
call fcn.004040ec
cmp dword [ebp - 0x140], 0
jle 0x596d2a
mov eax, edi
cmp al, 0x1e
jne 0x596d0f
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 0x596d2a
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 0x596bb3
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x34], 0x80000000
jne 0x596d6a
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x38], 0x80000000
jne 0x596d6a
mov eax, dword [esi + 0x24]
mov dword [eax + 0x34], 0x64
mov eax, dword [esi + 0x24]
mov dword [eax + 0x38], 0x64
jmp 0x596d9c
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x34], 0x80000000
jne 0x596d84
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x38]
mov edx, dword [esi + 0x24]
mov dword [edx + 0x34], eax
jmp 0x596d9c
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x38], 0x80000000
jne 0x596d9c
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 0x596df8
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebp - 0xa4]
jle 0x596e91
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 0x596e4b
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.00656b78
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.00656b78
mov edx, dword [esi + 0x24]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 0x24]
mov ecx, 1
mov edx, 0x78
call fcn.00562760
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x44], 2
jne 0x596f6c
mov eax, dword [esi + 0x24]
xor ecx, ecx
mov edx, 0x390
call fcn.00562760
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 al, 7
call fcn.0054a724
mov dword [ebp - 0x88], eax
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 + 0x598]
mov edx, dword [ebp - 0x88]
call fcn.00652038
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.005545d4
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.005545d4
jmp 0x5970ca
push ebp
call fcn.00595030
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.005545d4
jmp 0x5970ca
test byte [ebp - 0x61], 2
jne 0x5970ca
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x6b
je 0x596fbe
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 0x5970ca
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 0x5970b8
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.00657780
mov eax, dword [ebp - 0x16c]
lea edx, [ebp - 0x180]
call fcn.005934a4
pop ecx
lea edx, [ebp - 0x180]
lea eax, [ebp - 0x164]
mov ecx, dword [0x591fb0]
call fcn.004040ec
cmp byte [ebp - 0x164], 0
je 0x5970b8
fld xword [ebp - 0x162]
fcomp dword [0x5978dc]
fnstsw ax
sahf
jbe 0x5970b8
cmp byte [ebp - 0x163], 0
jne 0x59707f
fld xword [ebp - 0x162]
call fcn.00402588
mov edi, eax
neg edi
jmp 0x597085
mov edi, dword [ebp - 0x154]
cmp edi, 0x80000000
je 0x5970b8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x6b
jne 0x59709e
mov dword [ebp - 0xa8], edi
jmp 0x5970b8
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 0x596fe0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xb0]
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 0x59712e
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.00595348
pop ecx
inc dword [ebp - 0xbc]
dec dword [ebp - 0xd4]
jne 0x597107
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x58
jne 0x59714d
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.005950b8
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xb0]
cmp ebx, dword [eax + 0x18]
jne 0x597179
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
cmp esi, dword [eax + 8]
jne 0x597179
push ebp
call fcn.00595030
pop ecx
test byte [ebp - 0x61], 2
jne 0x5977f1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x3c]
cmp eax, 0x6d
jg 0x5971ba
je 0x597776
sub eax, 1
jb 0x5971da
sub eax, 0x43
je 0x597251
sub eax, 0xb
je 0x59728d
sub eax, 0x1c
je 0x597391
jmp 0x5977f1
sub eax, 0x71
je 0x597776
sub eax, 4
je 0x5977cd
sub eax, 4
je 0x59728d
jmp 0x5977f1
cmp dword [ebp - 0x88], 0
je 0x5977f1
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 + 0xb0]
mov edx, dword [edx + 0x18]
dec edx
cmp eax, edx
jne 0x597233
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 0x597233
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
push eax
mov eax, 0x20
call fcn.0056a904
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.005545d4
jmp 0x5977f1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x10]
mov eax, dword [eax + 0xb0]
cmp ebx, dword [eax + 0x18]
jne 0x5977f1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
cmp esi, dword [eax + 8]
jne 0x5977f1
mov eax, dword [ebp + 8]
push eax
call fcn.00592d64
pop ecx
jmp 0x5977f1
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 0x597354
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0x4f
jne 0x5972f0
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, 0x5978e4
call fcn.00403b24
jmp 0x597354
mov dword [ebx + 4], 0x17
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, 8
call fcn.00656b70
mov ecx, 3
cdq
idiv ecx
xor eax, eax
mov al, byte [edx + 0x66e614]
mov word [ebp - 0xbe], ax
lea eax, [ebx + 0x94]
mov dx, word [ebp - 0xbe]
call fcn.00403990
cmp word [ebp - 0xbe], 0xa7
jne 0x59734a
mov eax, dword [0x67299c]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
jmp 0x597354
mov eax, dword [0x672984]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x597297
mov eax, dword [ebp + 8]
cmp dword [eax - 0xcc], 0
jne 0x597383
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0xc8], edx
jmp 0x5977f1
mov eax, dword [ebp + 8]
dec dword [eax - 0xcc]
jmp 0x5977f1
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
cmp dword [eax + 0x18], 0
jle 0x597766
cmp dword [ebp - 0xa8], 0
jle 0x5973c9
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xc4]
mov eax, dword [ebp - 0xa8]
call fcn.00656b70
mov dword [ebp - 0xa8], eax
jmp 0x5973f1
mov edx, dword [ebp - 0xa8]
neg edx
mov eax, 0x64
call fcn.00656b70
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc4]
call fcn.00622538
mov dword [ebp - 0xa8], eax
xor eax, eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
mov eax, dword [eax + 0x18]
dec eax
cmp eax, 0
jl 0x597471
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov eax, dword [eax + edx*4]
lea esi, [eax + 4]
xor ebx, ebx
mov edi, dword [esi + 0xd8]
dec edi
cmp edi, 0
jl 0x59744f
imul eax, edi, 0x27
movsx eax, word [esi + eax*4 + 0x170]
call fcn.00656b8c
add ebx, eax
dec edi
cmp edi, 0xffffffff
jne 0x597437
mov edx, ebx
mov eax, dword [ebp - 0xac]
call fcn.00656b78
mov dword [ebp - 0xac], eax
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x597411
call fcn.00651de8
mov edx, dword [ebp + 8]
mov dword [edx - 0xd8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov edx, dword [ebp - 0xac]
call fcn.00651e38
xor eax, eax
mov dword [ebp - 0xbc], eax
xor edi, edi
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xac]
jge 0x59758a
mov eax, dword [ebp - 0xec]
cmp edi, dword [eax + 0xd8]
jge 0x597559
imul eax, edi, 0x27
mov edx, dword [ebp - 0xec]
lea eax, [edx + eax*4 + 0xdc]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov esi, dword [eax]
cmp esi, 0x80000000
je 0x59751b
mov eax, dword [ebp - 0xf0]
movsx eax, word [eax + 0x94]
call fcn.00656b8c
push eax
mov eax, esi
pop edx
mov ecx, edx
cdq
idiv ecx
mov esi, eax
mov eax, dword [ebp - 0xf0]
movsx eax, word [eax + 0x94]
call fcn.00656b8c
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x597556
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov dword [eax + edx*4], esi
inc dword [ebp - 0xbc]
dec ebx
cmp ebx, 0xffffffff
jne 0x597535
inc edi
jmp 0x597578
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov dword [eax + edx*4], 0x80000000
inc dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xac]
jl 0x5974c6
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x18]
dec eax
cmp eax, 0
jl 0x597622
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov edi, dword [eax + edx*4]
test edi, edi
jge 0x5975fd
cmp edi, 0x80000000
je 0x5975fd
mov edx, edi
neg edx
mov eax, dword [ebp - 0xa8]
call fcn.00622538
mov edi, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov dword [eax + edx*4], edi
cmp edi, 0x80000000
jne 0x59760d
inc dword [ebp - 0xb0]
jmp 0x597613
sub dword [ebp - 0xb4], edi
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x5975b6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x18]
dec eax
cmp eax, 0
jl 0x597692
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
cmp dword [eax + edx*4], 0x80000000
jne 0x597683
mov eax, dword [ebp - 0xb4]
cdq
idiv dword [ebp - 0xb0]
mov edx, eax
mov eax, 0xb4
call fcn.00656b78
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0xd8]
mov edx, dword [edx + 0x1c]
mov ecx, dword [ebp - 0xbc]
mov dword [edx + ecx*4], eax
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x59763a
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
mov eax, dword [eax + 0x18]
dec eax
cmp eax, 0
jl 0x597758
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov eax, dword [eax + edx*4]
add eax, 4
mov dword [ebp - 0xf4], eax
xor esi, esi
xor ebx, ebx
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xd8]
dec eax
test eax, eax
jl 0x597745
inc eax
mov dword [ebp - 0xd4], eax
xor edi, edi
imul eax, edi, 0x27
mov edx, dword [ebp - 0xf4]
lea eax, [edx + eax*4 + 0xdc]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
movsx eax, word [eax + 0x94]
call fcn.00656b8c
test eax, eax
jle 0x597734
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov eax, dword [eax + 0x1c]
add esi, dword [eax + ebx*4]
inc ebx
dec dword [ebp - 0xe0]
jne 0x59771c
mov eax, dword [ebp - 0xf8]
mov dword [eax], esi
inc edi
dec dword [ebp - 0xd4]
jne 0x5976ea
dec dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x5976ae
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
call fcn.00652408
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd0]
call fcn.00652408
jmp 0x5977f1
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 ecx, dword [ebp + 8]
lea edi, [edx + eax*4 + 0xe4]
lea esi, [ecx - 0xbc]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x30]
inc dword [eax + 0xdc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x6d0]
xor ecx, ecx
mov dl, 0x19
call fcn.005545d4
mov eax, dword [ebp + 8]
push eax
call fcn.00592d64
pop ecx
jmp 0x5977f1
push ebp
call fcn.00595148
pop ecx
test al, al
jne 0x5977cd
push ebp
call fcn.005952bc
pop ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0x30], edx
mov eax, dword [ebp + 8]
push eax
call fcn.00592d64
pop ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x8c]
mov dword [eax - 0xc8], edx
cmp dword [ebp - 0x68], 0
je 0x59780e
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 0x597833
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 0x5978d2
lea eax, [ebp - 0x188]
call fcn.00403274
lea eax, [ebp - 0x184]
call fcn.00403880
lea eax, [ebp - 0x180]
mov edx, dword [0x591fb0]
call fcn.00403f10
lea eax, [ebp - 0x16c]
call fcn.00403274
lea eax, [ebp - 0x168]
call fcn.00403880
lea eax, [ebp - 0x164]
mov edx, dword [0x591fb0]
mov ecx, 4
call fcn.00403f3c
lea eax, [ebp - 0x114]
mov edx, dword [0x619f3c]
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