Function at 0x46a1f4
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
call fcn.00406ee8
xor eax, eax
push ebp
push 0x46b373
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46a240
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00465ab4
mov eax, 0x53
sub eax, dword [ebp - 0x24]
cmp eax, 0xdd
jge 0x46a261
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.0045a314
mov ecx, 1
mov edx, 0x46b390
mov eax, 0x46b3b8
call fcn.00407d88
cmp eax, 0x1d
je 0x46a285
mov eax, dword [ebp - 0x3c]
add eax, 0x20f
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x273
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x278
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
imul eax, dword [ebp - 0x40], 0x291
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x30]
jne 0x46a2dc
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
cmp eax, edx
jle 0x46a2f7
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
shl eax, 2
lea eax, [eax + eax*8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
shl eax, 3
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jne 0x46a2b3
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46a33b
mov eax, dword [ebp - 0x38]
add eax, 0x1d2
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x2c]
jne 0x46a351
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x2c], 0x3d
mov dword [ebp - 0x28], eax
mov eax, 0x3e1
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
add eax, 0x385
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jne 0x46a31a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x46a3e3
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46a3a6
mov eax, dword [ebp - 0x38]
add eax, 0x1b0
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
cmp eax, edx
jle 0x46a3c0
imul eax, dword [ebp - 0x2c], 0xb7
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 0x3bf
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x24], 1
jl 0x46a382
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46a3fd
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00465544
mov byte [ebp - 9], 0
xor eax, eax
push ebp
push 0x46b1c0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46a429
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00468288
mov eax, 0x53
sub eax, dword [ebp - 0x24]
cmp eax, 0xef
jge 0x46a44a
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.0045a314
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
imul eax, dword [ebp - 0x40], 0x295
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x30]
jne 0x46a47a
fild dword [ebp - 0x34]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
cmp eax, edx
jge 0x46a491
imul eax, dword [ebp - 0x2c], 0x43
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
add eax, 0x3e7
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jne 0x46a45a
mov eax, 0x52
sub eax, dword [ebp - 0x24]
cmp eax, 0xe8
jge 0x46a4d3
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.00457904
mov eax, 0x53
sub eax, dword [ebp - 0x24]
cmp eax, 0xed
jge 0x46a4f0
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.00457b44
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, 1
mov edx, 0x46b390
mov eax, 0x46b3d8
call fcn.00407d88
cmp eax, 0x5e
jge 0x46a52d
mov eax, dword [ebp - 0x28]
add eax, 0x36
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jle 0x46a54f
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.004684e0
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46a575
mov eax, dword [ebp - 0x38]
add eax, 0x1e9
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x38]
cmp eax, edx
jle 0x46a590
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x2c], 0x13
mov dword [ebp - 0x24], eax
mov eax, 0x3d7
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
add eax, 0x39b
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jne 0x46a554
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46a5d0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.004691bc
mov eax, 0x59
sub eax, dword [ebp - 0x24]
cmp eax, 0xf5
jge 0x46a5f9
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.004614f4
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46a60f
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00465ab4
lea eax, [ebp - 0x70]
mov edx, dword [ebp - 4]
call fcn.0040794c
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x6c]
call fcn.004155ec
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
call fcn.00407960
mov eax, dword [ebp - 0x68]
call fcn.00469600
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
cmp eax, edx
jge 0x46a653
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x24]
call fcn.00427f98
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46a66d
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00462c9c
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.00461bb0
imul eax, dword [ebp - 0x40], 0x295
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x30]
call fcn.00404c70
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
add eax, 0x196
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x21b
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x23f
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
sub eax, 0x244
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x268
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x26c
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x4c]
call fcn.00465d98
test al, al
je 0x46b1b3
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00463910
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, 1
mov edx, 0x46b390
mov eax, 0x46b3f4
call fcn.00407d88
cmp eax, 0x22
je 0x46a752
mov eax, dword [ebp - 0x3c]
sub eax, 0x236
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x40], 0x27b
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x29f
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, 1
mov edx, 0x46b390
mov eax, 0x46b414
call fcn.00407d88
cmp eax, 0x5e
jge 0x46a79c
mov eax, dword [ebp - 0x28]
add eax, 0x3f6
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
cmp eax, edx
jge 0x46a7c6
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.004684e0
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46a7ea
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
cmp eax, edx
jle 0x46a801
imul eax, dword [ebp - 0x2c], 0x70
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jne 0x46a7cb
cmp dword [0x4ad790], 0
jne 0x46a83c
mov edx, 0x86cba2
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad790], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00467450
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
sub eax, 0x258
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
call fcn.00407620
mov edx, eax
lea eax, [ebp - 0x74]
call fcn.004078d4
mov eax, dword [ebp - 0x74]
mov dl, 1
call fcn.00415554
test al, al
je 0x46a898
mov eax, dword [ebp - 4]
call fcn.00407620
push eax
call sub.kernel32.dll_DeleteFileW
mov eax, dword [ebp - 0x38]
add eax, 0x1fb
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
sub eax, 0x240
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x40], 0x284
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x2a9
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, 1
mov edx, 0x46b390
mov eax, 0x46b430
call fcn.00407d88
cmp eax, 0x5b
jge 0x46a903
mov eax, dword [ebp - 0x28]
add eax, 0x3ff
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x46a95e
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x3c]
jle 0x46a930
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
cmp eax, edx
jle 0x46a947
imul eax, dword [ebp - 0x2c], 0x71
mov dword [ebp - 0x28], eax
mov eax, 0x3d4
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x24], 1
jl 0x46a90e
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46a978
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.004671ec
mov eax, 0x51
sub eax, dword [ebp - 0x24]
cmp eax, 0xd3
jge 0x46a995
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.00457018
imul eax, dword [ebp - 0x40], 0x2ac
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x20], 0x2d1
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x46aa25
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46a9e8
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x34]
cmp eax, edx
jge 0x46aa03
fild dword [ebp - 0x2c]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
mov eax, 0x3fd
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 0x3a0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x24], 1
jl 0x46a9c6
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46aa32
call fcn.0046576c
mov eax, dword [ebp - 0x38]
add eax, 0x1cf
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x38]
add eax, 0x1d4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x1f8
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x1fc
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x221
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x245
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x1c]
call fcn.00406de4
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b4354]
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b4304]
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b4324]
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b433c]
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b433c]
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, 0x46b44c
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b4324]
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b433c]
call fcn.00407a68
lea eax, [ebp - 0x1c]
mov edx, dword [0x4b433c]
call fcn.00407a68
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
cmp eax, edx
jge 0x46ab2a
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x24]
call fcn.00429740
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46ab44
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00462c9c
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00463910
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00463ba8
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00462c9c
mov ecx, 1
mov edx, 0x46b390
mov eax, 0x46b45c
call fcn.00407d88
cmp eax, 0x1f
je 0x46aba9
mov eax, dword [ebp - 0x3c]
add eax, 0x1fc
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
shl eax, 7
lea eax, [eax + eax*4]
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x2a5
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x34]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
add eax, 0x1ca
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
cmp dword [0x4ad7a0], 0
jne 0x46ac2e
mov edx, 0x8938c0
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad7a0], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46ac48
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00463910
mov eax, 0x5b
sub eax, dword [ebp - 0x28]
cmp eax, 0x10d
jge 0x46ac65
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.00461dd8
mov ecx, 1
mov edx, 0x46b390
mov eax, 0x46b47c
call fcn.00407d88
cmp eax, 0x27
je 0x46ac89
mov eax, dword [ebp - 0x3c]
sub eax, 0x23d
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x40], 0x281
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
cmp dword [0x4ad7d4], 0
jne 0x46acb9
mov edx, 0xc93a45
mov eax, dword [0x4ad6ac]
call fcn.004225e0
mov dword [0x4ad7d4], eax
mov eax, dword [ebp - 0x3c]
sub eax, 0x24e
mov dword [ebp - 0x38], eax
push 0
push 0x80
push 1
lea eax, [ebp - 0x4c]
push eax
push 3
push 0xc0000000
mov eax, dword [ebp - 4]
call fcn.00407620
push eax
call sub.kernel32.dll_CreateFileW_1
mov dword [ebp - 0x10], eax
call sub.kernel32.dll_GetLastError_2
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x10], 0xffffffff
je 0x46b1b3
cmp dword [ebp - 0x18], 0
jne 0x46b1b3
cmp dword [0x4ad7a8], 0
jne 0x46ad22
mov edx, 0x72adfe
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad7a8], eax
xor eax, eax
mov dword [ebp - 0x28], eax
imul eax, dword [ebp - 0x40], 0x29b
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46ad52
mov eax, dword [ebp - 0x38]
add eax, 0x1a3
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
cmp eax, edx
jle 0x46ad6d
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x2c], 0x2e
mov dword [ebp - 0x24], eax
imul eax, dword [ebp - 0x2c], 0x32
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jne 0x46ad27
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x20]
jge 0x46ad9f
mov eax, dword [ebp - 0x3c]
add eax, 0x1fd
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x2c]
jne 0x46adb5
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x2c], 0x27
mov dword [ebp - 0x24], eax
mov eax, 0x3cb
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jne 0x46ad89
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x46adf4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x20]
call fcn.00463ba8
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.00463ba8
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.004651c8
fild dword [ebp - 0x34]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
add eax, 0x1a9
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
add dword [ebp - 0x38], 0x1ed
mov eax, dword [ebp - 0x3c]
add eax, 0x211
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
sub eax, 0x236
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x25a
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x27f
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x2a3
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
push 0
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
call fcn.0042b338
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call dword [0x4ad7a8]
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 9], al
imul eax, dword [ebp - 0x40], 0x25e
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
cmp dword [0x4ad758], 0
jne 0x46aeeb
mov edx, 0x78a43f
mov eax, dword [0x4ad6a8]
call fcn.004225e0
mov dword [0x4ad758], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x20]
jle 0x46af06
mov eax, dword [ebp - 0x3c]
sub eax, 0x21d
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x30]
jne 0x46af1c
fild dword [ebp - 0x34]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x34]
cmp eax, edx
jge 0x46af37
mov eax, 0x6d
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x2c], 0x15
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jne 0x46aef0
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46af78
mov eax, dword [ebp - 0x38]
add eax, 0x1df
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x2c]
jne 0x46af8e
fild dword [ebp - 0x30]
call fcn.00404c64
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x2c], 0x4a
mov dword [ebp - 0x24], eax
mov eax, 0x3ee
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, 0x392
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jne 0x46af57
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46afda
mov eax, dword [ebp - 0x38]
add eax, 0x1bd
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
cmp eax, edx
jle 0x46aff5
fild dword [ebp - 0x30]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
cmp eax, edx
jge 0x46b011
mov eax, dword [ebp - 0x2c]
shl eax, 2
lea eax, [eax + eax*2]
mov dword [ebp - 0x24], eax
mov eax, 0x3d0
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
add eax, 0x374
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jne 0x46afb9
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
cmp eax, edx
jge 0x46b056
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x24]
call fcn.00422b64
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jle 0x46b07c
mov eax, dword [ebp - 0x38]
add eax, 0x1a7
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x34]
cmp eax, edx
jle 0x46b096
imul eax, dword [ebp - 0x2c], 0x8e
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x20]
jle 0x46b0c6
mov eax, dword [ebp - 0x3c]
add eax, 0x1dc
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jne 0x46b05b
mov eax, dword [ebp - 0x40]
sub eax, 0x261
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x265
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x28a
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x28e
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x2b2
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x20]
call fcn.004629fc
mov eax, dword [ebp - 0x40]
sub eax, 0x283
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x288
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x28c
mov dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x40], 0x2b0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x10]
push eax
call dword [0x4ad758]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x30]
call fcn.00404c70
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c70
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
add eax, 0x1d1
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
call fcn.00404c64
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x1f6
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
add eax, 0x21a
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x25e
mov dword [ebp - 0x3c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b32a
mov eax, dword [ebp - 0x3c]
add eax, 0x232
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
sub eax, 0x237
mov dword [ebp - 0x38], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b37a
lea eax, [ebp - 0x74]
mov edx, 3
call fcn.00406e44
lea eax, [ebp - 0x68]
call fcn.00406e2c
lea eax, [ebp - 0x1c]
call fcn.00406de4
lea eax, [ebp - 4]
call fcn.00406e2c
ret