Function at 0x44d770
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe38
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov byte [ebp - 2], dl
mov byte [ebp - 1], al
mov byte [ebp - 9], 0
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax], edx
mov ecx, 0x8000000
mov edx, 0x80000000
mov eax, dword [ebp - 8]
call fcn.0040eba4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x44d7c8
mov edx, dword [ebp - 8]
mov ax, 1
call fcn.0040de10
jmp 0x44f0ea
push 0xa
lea eax, [ebp - 0x8f]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov byte [ebp - 0x85], 0
mov eax, dword [0x48d324]
push eax
lea eax, [ebp - 0x8f]
push eax
call sub.kernel32.dll_lstrcmpA
test eax, eax
jne 0x44f074
push 0
push 0
push 0x10
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
push pe_nt_image_headers32
mov eax, dword [0x48d370]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 2
mov eax, dword [0x48db3c]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 1
push 0
mov eax, dword [0x48db3c]
movzx eax, word [eax]
inc eax
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 1
mov eax, dword [0x48d390]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 8
mov eax, dword [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 4
mov eax, dword [ebp + 0x4c]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 4
mov eax, dword [ebp + 0x48]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov eax, dword [0x48d390]
cmp byte [eax], 0
jne 0x44d89e
mov eax, dword [ebp + 0x34]
mov edx, dword [eax]
mov dword [ebp - 0x68], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x64], edx
jmp 0x44d8cf
mov eax, dword [ebp + 0x34]
fild qword [eax]
call fcn.004028a0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
mov eax, dword [ebp + 0x34]
fild qword [eax]
fmulp st(1)
fistp qword [ebp - 0x68]
wait
push 0x10
mov eax, dword [ebp + 0x30]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 4
mov eax, dword [ebp + 0x38]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 4
mov eax, dword [0x48d498]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 1
lea eax, [ebp - 0x7b]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 1
mov eax, dword [ebp + 0x40]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 1
mov eax, dword [ebp + 0x3c]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 1
mov eax, dword [ebp + 0x3c]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 2
mov eax, dword [ebp + 0x44]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov eax, dword [ebp + 0x44]
cmp word [eax], 0xffff
jne 0x44d95a
mov eax, dword [ebp + 0x44]
mov word [eax], 0
push 8
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 8
mov eax, dword [ebp + 0x1c]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 4
mov eax, dword [0x48d498]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov eax, dword [ebp + 0x2c]
mov word [eax], 0
mov eax, dword [0x48d498]
cmp dword [eax], 0
jle 0x44d9de
mov eax, dword [0x48d498]
mov eax, dword [eax]
and eax, 0x8000000f
jns 0x44d9ae
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
je 0x44d9de
mov eax, dword [ebp + 0x40]
cmp byte [eax], 2
jne 0x44d9c0
mov eax, dword [ebp + 0x40]
mov byte [eax], 0
push 1
push 0
mov eax, dword [0x48d498]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
mov eax, dword [0x48d498]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x48d498]
cmp dword [eax], 0
jle 0x44da5e
mov eax, dword [0x48d498]
mov eax, dword [eax]
test eax, eax
jns 0x44d9f6
add eax, 0xf
sar eax, 4
mov edx, dword [ebp + 0x2c]
mov word [edx], ax
cmp byte [ebp - 1], 0
jne 0x44da49
mov eax, dword [0x48d498]
mov eax, dword [eax]
push eax
push 0x42
call sub.kernel32.dll_GlobalAlloc
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GlobalLock
mov dword [ebp - 0x44], eax
mov eax, dword [0x48d498]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GlobalUnlock
jmp 0x44da5e
push 1
push 0
mov eax, dword [0x48d498]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
push 4
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov byte [ebp - 0x71], 0
mov byte [ebp - 0x73], 0
xor ebx, ebx
mov byte [ebp - 0x76], 0
mov byte [ebp - 0x77], 0
mov byte [ebp - 0x7a], 0
cmp dword [ebp + 0x18], 0
je 0x44da8f
mov eax, dword [ebp + 0x18]
mov byte [eax], 0
cmp dword [ebp - 0x14], 0
jle 0x44ddc0
push 2
lea eax, [ebp - 0x1e]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
movzx eax, word [ebp - 0x1e]
cmp eax, 0x309
jg 0x44dade
je 0x44dc11
sub eax, 0x100
je 0x44db00
sub eax, 0x100
je 0x44db53
dec eax
je 0x44dba7
dec eax
je 0x44dbdc
jmp 0x44dd0d
sub eax, 0x400
je 0x44dc7d
dec eax
je 0x44dcc1
sub eax, 0xfbfe
je 0x44ddc0
jmp 0x44dd0d
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp word [ebp - 0x20], 4
jne 0x44f074
push 4
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp dword [ebp - 0x58], 1
jbe 0x44db47
mov ax, 0x171
call fcn.0040bc04
mov edx, 3
call fcn.00411d74
jmp 0x44da99
cmp dword [ebp - 0x58], 0
seta bl
jmp 0x44da99
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp word [ebp - 0x20], 4
jne 0x44f074
push 4
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp dword [ebp - 0x54], 1
jbe 0x44db9a
mov ax, 0x172
call fcn.0040bc04
mov edx, 3
call fcn.00411d74
jmp 0x44da99
cmp dword [ebp - 0x54], 0
seta byte [ebp - 0x73]
jmp 0x44da99
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp word [ebp - 0x20], 0x10
jne 0x44f074
push 0x10
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov byte [ebp - 0x76], 1
jmp 0x44da99
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp word [ebp - 0x20], 0x20
jne 0x44f074
push 0x20
lea eax, [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov byte [ebp - 0x77], 1
jmp 0x44da99
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
movzx eax, word [ebp - 0x20]
push eax
mov eax, dword [0x48da44]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp dword [ebp + 0x18], 0
je 0x44da99
mov eax, dword [0x48da44]
cmp byte [eax], 0
je 0x44da99
mov byte [ebp - 0x7a], 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
call fcn.00405c48
mov dl, 0x5c
mov eax, dword [ebp + 0x18]
call fcn.00405e00
inc eax
mov byte [eax], 0
mov eax, dword [0x48da44]
push eax
mov eax, dword [ebp + 0x18]
push eax
call sub.kernel32.dll_lstrcatA
jmp 0x44da99
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp word [ebp - 0x20], 4
jne 0x44f074
push 4
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov eax, dword [ebp + 0x24]
movzx eax, word [eax]
mov edx, 0xffff
call fcn.0040bb7c
mov edx, dword [ebp + 0x24]
mov word [edx], ax
jmp 0x44da99
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
movzx eax, word [ebp - 0x20]
shr eax, 4
mov edx, dword [ebp + 8]
mov dword [edx], eax
push 4
push 0x1000
movzx eax, word [ebp - 0x20]
push eax
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
movzx eax, word [ebp - 0x20]
push eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
jmp 0x44da99
cmp word [ebp - 0x1e], 7
jne 0x44dd1a
mov word [ebp - 0x1e], 0xd
cmp word [ebp - 0x1e], 9
jne 0x44dd27
mov word [ebp - 0x1e], 0x10
cmp word [ebp - 0x1e], 0x20
jne 0x44dd34
mov word [ebp - 0x1e], 0x14
cmp word [ebp - 0x1e], 0x21
jne 0x44dd41
mov word [ebp - 0x1e], 0x11
cmp word [ebp - 0x1e], 0xa
jbe 0x44dd9a
cmp word [ebp - 0x1e], 0x15
jae 0x44dd9a
mov ax, word [ebp - 0x1e]
sub al, 0xa
mov byte [ebp - 0x71], al
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
xor eax, eax
mov al, byte [ebp - 0x71]
mov edx, dword [0x48d6a8]
movzx eax, byte [edx + eax]
cmp ax, word [ebp - 0x20]
jne 0x44f074
movzx eax, word [ebp - 0x20]
push eax
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
jmp 0x44da99
push 2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 1
push 0
movzx eax, word [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
jmp 0x44da99
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x44ddd7
cmp byte [ebp - 0x7b], 1
je 0x44ddd7
mov eax, dword [ebp + 8]
mov dword [eax], 0xffffffff
cmp byte [ebp - 0x73], 0
je 0x44de0c
cmp dword [ebp - 0x54], 1
jne 0x44de0c
mov eax, dword [0x48d550]
movzx eax, byte [eax + 0x18dc]
add ax, 0x1f
mov dl, 0x41
call fcn.0042d52c
test eax, eax
je 0x44f087
cmp byte [ebp - 0x76], 0
je 0x44f074
cmp byte [ebp - 0x73], 0
je 0x44de66
cmp byte [ebp - 0x76], 0
je 0x44de66
cmp byte [ebp - 0x77], 0
je 0x44de66
lea ecx, [ebp - 0x13c]
lea edx, [ebp - 0x14c]
mov eax, dword [0x48d208]
call fcn.0040ace4
lea edx, [ebp - 0x13c]
lea eax, [ebp - 0x11c]
mov ecx, 0x20
call fcn.0040cd80
test al, al
jne 0x44de66
mov ax, 0x173
call fcn.0040bc04
mov edx, 3
call fcn.00411d74
jmp 0x44f087
test bl, bl
je 0x44deda
push 4
push 0x1000
push 0xa0000
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x44dea2
push 0
push 0xa0000
call fcn.00412abc
mov edx, eax
mov ax, 0xb
call fcn.0040de10
jmp 0x44f087
xor eax, eax
mov dword [ebp - 0xa0], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xbc]
call fcn.00409140
test eax, eax
je 0x44deda
push 0
push 0x2c
call fcn.004123c0
mov edx, eax
mov ax, 0xb
call fcn.0040de10
jmp 0x44f087
cmp byte [ebp + 0x50], 0
jne 0x44dee8
mov eax, dword [0x48d6f4]
mov byte [eax], 0
mov eax, dword [0x48d390]
cmp byte [eax], 0
jne 0x44df86
cmp byte [ebp - 1], 0
jne 0x44df86
mov eax, dword [0x48d6f4]
mov byte [eax], 1
cmp byte [ebp - 0x7b], 1
jne 0x44df21
mov dl, 0x23
mov ax, 0x24
call fcn.0042d52c
test eax, eax
je 0x44f087
push dword [ebp - 0x64]
push dword [ebp - 0x68]
xor eax, eax
call fcn.0040f3c4
test al, al
je 0x44f087
mov eax, dword [0x48d6f4]
cmp byte [eax], 3
jne 0x44df6e
call fcn.0040f494
mov al, 1
call fcn.0042aef4
test al, al
je 0x44df08
mov eax, dword [0x48d370]
call fcn.00412584
test al, al
je 0x44df6e
mov eax, dword [0x48d370]
xor edx, edx
call fcn.00411180
test al, al
je 0x44df08
mov eax, dword [0x48d6f4]
cmp byte [eax], 1
jbe 0x44df86
mov edx, dword [0x48d370]
mov eax, dword [ebp + 0x54]
call fcn.00405c48
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44e391
cmp byte [ebp - 1], 0
jne 0x44e391
mov eax, dword [0x48d390]
cmp byte [eax], 0x1a
jle 0x44e0c9
mov edx, dword [0x48d370]
mov eax, dword [0x48da44]
call fcn.00405c48
mov eax, dword [0x48da44]
call fcn.0040fb08
mov eax, dword [0x48da44]
call fcn.00405bdc
mov edx, dword [0x48da44]
mov byte [edx + eax - 1], 0
mov eax, dword [0x48da44]
push eax
push 1
push 0x417
mov eax, dword [0x48d858]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
test eax, eax
je 0x44f087
push 0
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0041a5a8
mov byte [ebp - 0x79], al
mov eax, dword [0x48d614]
movsx eax, word [eax]
mov edx, dword [0x48d524]
mov eax, dword [edx + eax*4 - 4]
mov al, byte [eax + 0x55d]
mov byte [ebp - 0x78], al
xor eax, eax
mov al, byte [ebp - 0x78]
lea eax, [eax + eax*4]
mov edx, dword [0x48d7fc]
xor ecx, ecx
mov cl, byte [ebp - 0x79]
lea ecx, [ecx + ecx*4]
mov esi, dword [0x48d7fc]
push edi
lea edi, [esi + ecx*4 - 0x21c]
lea esi, [edx + eax*4 - 0x21c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x48d270]
mov eax, dword [edx + eax*4 + 0x98]
xor edx, edx
mov dl, byte [ebp - 0x79]
mov ecx, dword [0x48d270]
mov dword [ecx + edx*4 + 0x98], eax
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x48d9a0]
mov ax, word [edx + eax*2 + 0x4c]
xor edx, edx
mov dl, byte [ebp - 0x79]
mov ecx, dword [0x48d9a0]
mov word [ecx + edx*2 + 0x4c], ax
push 0
push 0
push 0x10
mov eax, dword [0x48d614]
movsx eax, word [eax]
mov edx, dword [0x48d524]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x48d390]
mov dl, byte [ebp - 0x79]
mov byte [eax], dl
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [0x48d778]
mov dword [edx], eax
mov eax, dword [0x48dbc0]
mov byte [eax], bl
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
add eax, dword [edx]
dec eax
mov edx, dword [0x48d410]
mov dword [edx], eax
mov eax, dword [0x48d294]
mov dl, byte [ebp - 0x7a]
mov byte [eax], dl
cmp byte [ebp + 0x50], 0
jne 0x44e11d
mov eax, dword [0x48d6f4]
mov byte [eax], 0
mov dl, 0x22
mov ax, 0x23
call fcn.0042d52c
test eax, eax
je 0x44f087
jmp 0x44e168
mov eax, dword [0x48d410]
mov eax, dword [eax]
mov edx, dword [0x48d778]
sub eax, dword [edx]
inc eax
mov edx, dword [0x48d938]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
jne 0x44e14e
mov eax, dword [0x48d778]
mov eax, dword [eax]
mov edx, dword [0x48d300]
mov dword [edx], eax
jmp 0x44e15b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov edx, dword [0x48d300]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
mov al, byte [eax]
mov edx, dword [0x48d390]
mov byte [edx], al
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
jne 0x44e17f
call fcn.0041b380
test al, al
je 0x44f087
mov eax, dword [0x48d938]
mov eax, dword [eax]
call fcn.0040fd30
fild dword [ebp - 0x40]
fmulp st(1)
mov eax, dword [0x48d318]
fistp qword [eax]
wait
mov eax, dword [0x48d6f4]
cmp byte [eax], 1
jne 0x44e228
mov eax, dword [0x48d318]
fild qword [eax]
fcomp dword [0x44f0f8]
fnstsw ax
sahf
jbe 0x44e228
mov eax, dword [0x48d318]
push dword [eax + 4]
push dword [eax]
call fcn.00412abc
mov edx, eax
mov eax, dword [0x48d830]
call fcn.00405c48
mov ax, 0x2b8
call fcn.0040bc04
mov edx, dword [0x48d830]
call fcn.0040f5a0
fld xword [0x44f0fc]
mov eax, dword [0x48d318]
fild qword [eax]
fcompp
fnstsw ax
sahf
jae 0x44e214
mov eax, dword [0x48da44]
mov edx, 0x77
call fcn.00411d74
test al, al
je 0x44f087
jmp 0x44e228
mov eax, dword [0x48da44]
mov edx, 1
call fcn.00411d74
jmp 0x44f087
mov ecx, dword [0x48d370]
mov eax, dword [0x48d390]
mov al, byte [eax]
xor edx, edx
call fcn.0041ac5c
mov eax, dword [0x48d6f4]
cmp byte [eax], 3
jae 0x44e2d0
mov eax, dword [0x48d390]
cmp byte [eax], 0
jge 0x44e259
call fcn.0041b45c
lea edx, [ebp - 0x1a4]
mov eax, dword [0x48d390]
mov al, byte [eax]
call fcn.0041cf4c
test al, al
je 0x44e2bc
mov eax, dword [0x48d390]
movsx eax, byte [eax]
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
cmp eax, dword [ebp - 0x40]
je 0x44e29f
mov ax, 0x174
call fcn.0040bc04
mov edx, 3
call fcn.00411d74
jmp 0x44f0ea
mov eax, dword [0x48d390]
movsx eax, byte [eax]
mov edx, dword [0x48d270]
mov eax, dword [edx + eax*4 + 0x98]
mov dword [ebp - 0x5c], eax
jmp 0x44e391
mov edx, dword [0x48d370]
mov ax, 0xa
call fcn.0040de10
jmp 0x44f087
push dword [ebp - 0x64]
push dword [ebp - 0x68]
xor eax, eax
call fcn.0040f3c4
test al, al
je 0x44f087
cmp byte [ebp + 0x50], 0
jne 0x44e391
mov eax, dword [0x48d370]
call fcn.00405bdc
dec eax
mov byte [ebp - 0x78], al
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x48d370]
cmp byte [edx + eax], 0x3a
jne 0x44e31d
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x48d370]
mov byte [edx + eax], 0
cmp byte [ebp - 0x7a], 0
jne 0x44e34d
push 0x44f108
mov eax, dword [0x48d370]
push eax
call sub.kernel32.dll_lstrcatA
mov ecx, dword [0x48d938]
mov ecx, dword [ecx]
mov edx, dword [0x48d778]
mov edx, dword [edx]
mov eax, dword [0x48d370]
call fcn.0044d3e4
call fcn.0040f494
mov al, 1
call fcn.0042aef4
test al, al
je 0x44e0fa
mov eax, dword [0x48d370]
call fcn.00412584
test al, al
je 0x44e383
mov eax, dword [0x48d370]
xor edx, edx
call fcn.00411180
test al, al
je 0x44e0fa
mov edx, dword [0x48d370]
mov eax, dword [ebp + 0x54]
call fcn.00405c48
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44e3a9
cmp byte [ebp - 1], 0
je 0x44e3a9
mov eax, dword [0x48d6f4]
mov byte [eax], 2
push 4
push 0x1000
push 0x40000
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x44e3e1
push 0
push 0x40000
call fcn.00412abc
mov edx, eax
mov ax, 0xb
call fcn.0040de10
jmp 0x44f087
cmp byte [ebp - 2], 0
jne 0x44e40d
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44e6da
cmp byte [ebp - 0x71], 0
je 0x44e6da
mov eax, dword [0x48d6f4]
cmp byte [eax], 3
jae 0x44e6da
mov byte [ebp - 0x74], 1
mov ax, 0x176
call fcn.0040bc04
mov edx, eax
mov eax, dword [0x48d948]
call fcn.00405c48
mov eax, dword [0x48d948]
xor edx, edx
call fcn.0040e810
push 1
push 0
push 0
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
mov dword [ebp - 0x60], eax
cmp byte [ebp - 0x73], 0
je 0x44e46e
mov eax, dword [0x48d208]
mov dl, 1
call fcn.00406564
push 1
mov ecx, dword [0x48d208]
mov edx, dword [fcn.00406564]
xor eax, eax
call fcn.00406858
mov dword [ebp - 0x80], eax
xor eax, eax
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
cmp byte [ebp - 0x71], 0
je 0x44e48f
lea eax, [ebp - 0x1bc]
mov dl, byte [ebp - 0x71]
call fcn.0040ae18
push 0x40000
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__hread
mov esi, eax
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xbc], eax
cmp byte [ebp - 0x73], 0
je 0x44e4d4
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00406944
test bl, bl
je 0x44e51c
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x48]
mov edx, 0xa0000
call fcn.0044d640
test eax, eax
jge 0x44e50e
cmp byte [ebp - 0x73], 0
je 0x44f087
mov eax, dword [0x48d208]
xor edx, edx
call fcn.00406564
jmp 0x44f087
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
jmp 0x44e524
mov edi, esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
cmp byte [ebp - 0x71], 0
je 0x44e53a
lea eax, [ebp - 0x1bc]
mov ecx, edi
mov edx, dword [ebp - 0x34]
call fcn.0040af28
mov dword [ebp - 0x1c4], edi
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
fild qword [ebp - 0x70]
faddp st(1)
fistp qword [ebp - 0x70]
wait
fild qword [ebp - 0x70]
fmul dword [0x44f10c]
fild qword [ebp - 0x68]
fdivp st(1)
call fcn.004028a0
mov edx, dword [0x48d1d8]
mov byte [edx], al
mov eax, dword [0x48d1d8]
mov al, byte [eax]
mov edx, dword [0x48d668]
cmp al, byte [edx]
je 0x44e588
call fcn.00414c64
mov eax, 0xa
call fcn.00402dd8
test eax, eax
jne 0x44e59b
call fcn.0040f494
test bl, bl
je 0x44e5bd
mov eax, dword [ebp - 0xb4]
cdq
push edx
push eax
mov eax, esi
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x44e5b5
cmp eax, dword [esp]
pop edx
pop eax
jne 0x44e4d4
cmp esi, 0x40000
jb 0x44e5d3
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
je 0x44e48f
push 0
push 0
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
cmp byte [ebp - 0x73], 0
je 0x44e603
mov edx, 0x2c
mov eax, dword [ebp - 0x80]
call fcn.00402508
mov eax, dword [0x48d208]
xor edx, edx
call fcn.00406564
test bl, bl
je 0x44e62d
lea eax, [ebp - 0xbc]
call fcn.00409004
xor eax, eax
mov dword [ebp - 0xa0], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xbc]
call fcn.00409140
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
jne 0x44e6b3
cmp byte [ebp - 0x71], 0
je 0x44e650
lea edx, [ebp - 0xfc]
lea eax, [ebp - 0x1bc]
xor ecx, ecx
call fcn.0040b040
call fcn.0040eb04
push dword [ebp - 0x64]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xfc]
push eax
mov al, byte [ebp - 2]
xor al, 1
push eax
mov eax, dword [0x48d550]
cmp byte [eax + 0x18e6], 0
je 0x44e689
cmp byte [ebp - 0x7b], 1
je 0x44e693
cmp byte [ebp - 2], 0
jne 0x44e693
xor eax, eax
jmp 0x44e695
mov al, 1
mov edx, dword [0x48d550]
mov dl, byte [edx + 0x189b]
mov cl, byte [ebp - 0x71]
call fcn.0044d464
test al, al
je 0x44f087
jmp 0x44e6de
cmp byte [ebp - 2], 0
jne 0x44f087
mov ax, 0x179
call fcn.0040bc04
mov edx, 2
call fcn.00411d74
test al, al
je 0x44f087
jmp 0x44e6de
mov byte [ebp - 0x74], 0
cmp byte [ebp - 2], 0
jne 0x44f087
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44e77d
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
jne 0x44e77d
cmp byte [ebp + 0x50], 0
jne 0x44e77d
mov eax, dword [0x48d938]
cmp dword [eax], 1
jne 0x44e726
mov ax, 0x178
call fcn.0040bc04
mov edx, dword [0x48d370]
call fcn.0040f5a0
jmp 0x44e766
mov eax, dword [0x48d938]
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0x177
call fcn.0040bc04
call fcn.0040f4d4
mov edx, dword [0x48d370]
mov eax, dword [0x48da44]
call fcn.0040f5a0
mov eax, dword [0x48da44]
mov edx, 0x77
call fcn.00411d74
test al, al
je 0x44f087
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44e791
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
je 0x44e7ef
cmp byte [ebp + 0x50], 0
jne 0x44e7a7
push 0
mov eax, dword [ebp + 0x54]
push eax
call sub.kernel32.dll__lcreat
mov dword [ebp - 0x1c], eax
jmp 0x44e7d8
mov ecx, 0x8000000
mov edx, 0xc0000000
mov eax, dword [ebp + 0x54]
call fcn.0040eba4
mov dword [ebp - 0x1c], eax
mov eax, dword [0x48d498]
xor edx, edx
mov dword [eax], edx
push 2
mov eax, dword [0x48d498]
push eax
push 0
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_SetFilePointer_1
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x44e7f6
mov edx, dword [ebp + 0x54]
mov ax, 1
call fcn.0040de10
jmp 0x44f087
mov dword [ebp - 0x1c], 0xffffffff
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44e828
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
jne 0x44e828
mov eax, dword [0x48d75c]
mov byte [eax], 1
mov edx, 0x44f110
xor ecx, ecx
xor eax, eax
call fcn.00423728
test al, al
je 0x44f087
mov ax, 0x175
call fcn.0040bc04
mov edx, eax
mov eax, dword [0x48d948]
call fcn.00405c48
mov eax, dword [0x48d390]
cmp byte [eax], 0
jne 0x44e8a8
mov eax, dword [0x48d550]
movzx eax, byte [eax + 0x188c]
mov edx, dword [0x48d684]
lea eax, [edx + eax*2]
push eax
mov eax, dword [0x48d948]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x48d370]
call fcn.0040fb28
mov edx, eax
mov eax, dword [0x48d948]
mov cx, 0x3c
call fcn.00405c80
mov eax, dword [0x48d550]
movzx eax, byte [eax + 0x188c]
lea eax, [eax + eax*4]
mov edx, dword [0x48d4f8]
lea eax, [edx + eax]
push eax
mov eax, dword [0x48d948]
push eax
call sub.kernel32.dll_lstrcatA
jmp 0x44e8ca
mov eax, dword [0x48d370]
push eax
mov eax, dword [0x48d948]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x48d268]
push eax
mov eax, dword [0x48d948]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x48d948]
xor edx, edx
call fcn.0040e810
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44e981
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
jae 0x44e981
mov eax, dword [0x48d300]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
sub eax, dword [edx]
mov edx, dword [0x48d778]
add eax, dword [edx]
call fcn.0040fd30
mov eax, dword [0x48d390]
movsx eax, byte [eax]
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
mov dword [ebp - 0x1c8], eax
fild dword [ebp - 0x1c8]
fmulp st(1)
mov eax, dword [0x48d318]
fistp qword [eax]
wait
push 8
mov eax, dword [0x48d318]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll__hwrite
mov eax, dword [0x48d390]
movsx eax, byte [eax]
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
mov edx, dword [0x48d938]
imul dword [edx]
mov edx, dword [0x48d498]
mov dword [edx], eax
push 4
mov eax, dword [0x48d498]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll__hwrite
mov eax, dword [ebp + 0x24]
mov word [eax], 1
cmp byte [ebp - 0x74], 0
jne 0x44e98c
xor eax, eax
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
cmp byte [ebp - 0x73], 0
je 0x44e9be
mov eax, dword [0x48d208]
mov dl, 1
call fcn.00406564
push 1
mov ecx, dword [0x48d208]
mov edx, dword [fcn.00406564]
xor eax, eax
call fcn.00406858
mov dword [ebp - 0x80], eax
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44eb58
mov eax, dword [0x48d778]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
cmp eax, dword [edx]
je 0x44eb0c
mov eax, dword [0x48d778]
mov eax, dword [eax]
call fcn.0040fd30
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
fsubp st(1)
fild dword [ebp - 0x40]
fmulp st(1)
mov eax, dword [0x48d318]
fistp qword [eax]
wait
cmp byte [ebp - 0x73], 0
jne 0x44ea47
test bl, bl
jne 0x44ea47
push 1
mov eax, dword [0x48d318]
call fcn.0040fdb8
push eax
mov eax, dword [0x48d318]
push dword [eax + 4]
push dword [eax]
call fcn.0040fdac
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
jmp 0x44eb0c
mov eax, dword [0x48d318]
fild qword [eax]
fdiv dword [0x44f114]
call fcn.004028ac
mov dword [ebp - 0x28], eax
mov eax, dword [0x48d318]
push dword [eax + 4]
push dword [eax]
push 0
push 0x40000
call fcn.0040fe38
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
test eax, eax
jle 0x44eadf
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x24], 1
push 0x40000
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__hread
mov esi, eax
cmp byte [ebp - 0x73], 0
je 0x44eab7
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00406944
mov dword [ebp - 0x1c4], esi
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
fild qword [ebp - 0x70]
faddp st(1)
fistp qword [ebp - 0x70]
wait
inc dword [ebp - 0x24]
dec dword [ebp - 0x84]
jne 0x44ea89
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__hread
mov esi, eax
cmp byte [ebp - 0x73], 0
je 0x44eb0c
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00406944
mov eax, dword [0x48d938]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
jae 0x44eb40
mov eax, dword [0x48d938]
mov eax, dword [eax]
mov dword [ebp - 0x1c4], eax
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
mov eax, dword [ebp + 0x34]
fild qword [eax]
fmulp st(1)
fistp qword [ebp - 0x68]
wait
mov eax, dword [0x48d6f4]
cmp byte [eax], 3
jne 0x44eb58
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x68]
mov dword [eax], edx
mov edx, dword [ebp - 0x64]
mov dword [eax + 4], edx
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
cmp byte [ebp - 0x71], 0
je 0x44eb74
lea eax, [ebp - 0x1bc]
mov dl, byte [ebp - 0x71]
call fcn.0040ae18
mov eax, dword [0x48d2b0]
cmp byte [eax], 0
je 0x44eb9a
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44eb9a
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
jne 0x44eb9a
mov eax, dword [0x48d358]
mov byte [eax], 1
push 0x40000
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__hread
mov esi, eax
cmp byte [ebp - 0x73], 0
je 0x44ebc8
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00406944
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xbc], eax
test bl, bl
je 0x44ec19
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x48]
mov edx, 0xa0000
call fcn.0044d640
test eax, eax
jge 0x44ec0b
mov eax, dword [0x48d9fc]
mov byte [eax], 1
jmp 0x44edb0
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
jmp 0x44ec21
mov edi, esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44ec95
mov eax, dword [0x48d938]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
jae 0x44ec95
mov dword [ebp - 0x1c4], edi
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
fild qword [ebp - 0x70]
faddp st(1)
fild dword [ebp - 0x40]
fdivp st(1)
call fcn.004028a0
push edx
push eax
mov eax, dword [0x48d938]
mov eax, dword [eax]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x44ec76
cmp eax, dword [esp]
pop edx
pop eax
jae 0x44ec95
jmp 0x44ec7a
pop edx
pop eax
jge 0x44ec95
fild dword [ebp - 0x40]
fild qword [ebp - 0x70]
fdivrp st(1)
call fcn.004028a0
mov edi, dword [0x48d938]
mov edi, dword [edi]
sub edi, eax
imul edi, dword [ebp - 0x40]
test edi, edi
jbe 0x44ed09
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44ecf6
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
jne 0x44ecf6
mov eax, dword [0x48d300]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
sub eax, dword [edx]
mov edx, dword [0x48d778]
add eax, dword [edx]
call fcn.0040fd30
fild dword [ebp - 0x40]
fmulp st(1)
fild qword [ebp - 0x70]
faddp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, dword [0x48d4b0]
mov ecx, edi
mov edx, dword [ebp - 0x34]
call fcn.00425d8c
test al, al
je 0x44ecef
mov dword [ebp - 0x30], edi
jmp 0x44ed0e
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x44ed0e
push edi
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll__hwrite
mov dword [ebp - 0x30], eax
jmp 0x44ed0e
xor eax, eax
mov dword [ebp - 0x30], eax
cmp byte [ebp - 0x74], 0
jne 0x44ed2a
cmp byte [ebp - 0x71], 0
je 0x44ed2a
lea eax, [ebp - 0x1bc]
mov ecx, edi
mov edx, dword [ebp - 0x34]
call fcn.0040af28
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c4], eax
xor eax, eax
mov dword [ebp - 0x1c0], eax
fild qword [ebp - 0x1c4]
fild qword [ebp - 0x70]
faddp st(1)
fistp qword [ebp - 0x70]
wait
fild qword [ebp - 0x68]
fcomp dword [0x44f118]
fnstsw ax
sahf
jbe 0x44ed8e
fild qword [ebp - 0x70]
fmul dword [0x44f10c]
fild qword [ebp - 0x68]
fdivp st(1)
call fcn.004028a0
mov edx, dword [0x48d1d8]
mov byte [edx], al
mov eax, dword [0x48d1d8]
mov al, byte [eax]
mov edx, dword [0x48d668]
cmp al, byte [edx]
je 0x44ed89
call fcn.00414c64
call fcn.0040f494
test bl, bl
je 0x44edb0
mov eax, dword [ebp - 0xb4]
cdq
push edx
push eax
mov eax, esi
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x44eda8
cmp eax, dword [esp]
pop edx
pop eax
jne 0x44ebdf
cmp esi, 0x40000
jb 0x44edcb
cmp edi, dword [ebp - 0x30]
ja 0x44edcb
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
je 0x44eb9a
mov eax, dword [0x48d358]
cmp byte [eax], 0
je 0x44edf3
mov eax, dword [0x48d358]
mov byte [eax], 0
mov eax, dword [0x48d49c]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x48d49c]
xor edx, edx
mov dword [eax], edx
test bl, bl
je 0x44ee02
lea eax, [ebp - 0xbc]
call fcn.00409004
push 0x4000
push 0x40000
mov eax, dword [ebp - 0x48]
push eax
call sub.kernel32.dll_VirtualFree_1
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44ee33
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
jne 0x44ee33
mov eax, dword [0x48d4b0]
call fcn.004244a8
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp dword [ebp - 0x1c], 0xffffffff
je 0x44ee4b
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp byte [ebp - 0x73], 0
je 0x44ee87
mov edx, 0x2c
mov eax, dword [ebp - 0x80]
call fcn.00402508
mov eax, dword [0x48d550]
cmp byte [eax + 0x18ea], 0
jne 0x44ee7b
mov eax, dword [0x48d208]
mov edx, 0x11
call fcn.00405a9c
mov eax, dword [0x48d208]
xor edx, edx
call fcn.00406564
cmp edi, dword [ebp - 0x30]
ja 0x44ee9e
mov eax, dword [0x48d9fc]
cmp byte [eax], 0
je 0x44ef06
cmp esi, 0x40000
jne 0x44ef06
call fcn.0040eb04
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44eeb7
mov eax, dword [0x48d6f4]
cmp byte [eax], 2
je 0x44eed6
cmp edi, dword [ebp - 0x30]
jbe 0x44eec8
mov edx, dword [ebp + 0x54]
mov ax, 5
call fcn.0040de10
mov eax, dword [ebp + 0x54]
push eax
call sub.kernel32.dll_DeleteFileA_1
jmp 0x44f0ea
mov eax, dword [0x48d550]
cmp byte [eax + 0x189b], 0
je 0x44eeee
cmp byte [ebp - 0x7a], 0
jne 0x44f0ea
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
call fcn.0044d67c
jmp 0x44f0ea
mov eax, dword [0x48d1d8]
mov byte [eax], 0x64
call fcn.00414c64
cmp byte [ebp - 0x74], 0
jne 0x44ef32
cmp byte [ebp - 0x71], 0
je 0x44ef32
lea edx, [ebp - 0xfc]
lea eax, [ebp - 0x1bc]
xor ecx, ecx
call fcn.0040b040
mov eax, dword [0x48d2b0]
cmp byte [eax], 0
je 0x44ef75
mov eax, dword [0x48d390]
cmp byte [eax], 0xff
je 0x44ef50
mov eax, dword [0x48d390]
cmp byte [eax], 0xfe
jne 0x44ef75
mov eax, dword [0x48d884]
cmp dword [eax], 0
je 0x44ef70
push 0
push 0
push 0x404
mov eax, dword [0x48d884]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
call fcn.0041b3a4
call fcn.0040eb04
mov eax, dword [0x48d390]
cmp byte [eax], 0
je 0x44efb5
mov eax, dword [0x48d6f4]
cmp byte [eax], 3
jae 0x44efb5
mov eax, dword [0x48d550]
cmp byte [eax + 0x189b], 0
je 0x44efa2
cmp byte [ebp - 0x7a], 0
jne 0x44efb5
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
call fcn.0044d67c
cmp byte [ebp - 0x7a], 0
je 0x44efdb
mov eax, dword [0x48d300]
mov eax, dword [eax]
mov edx, dword [0x48d938]
add eax, dword [edx]
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [0x48d390]
mov al, byte [eax]
mov edx, dword [ebp + 0x14]
mov byte [edx], al
cmp byte [ebp - 0x74], 0
je 0x44efe7
mov byte [ebp - 9], 1
jmp 0x44f042
push dword [ebp - 0x64]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xfc]
push eax
push 0
mov eax, dword [0x48d550]
cmp byte [eax + 0x189b], 0
je 0x44f017
cmp byte [ebp - 0x7a], 0
jne 0x44f01b
xor edx, edx
jmp 0x44f01d
mov dl, 1
mov eax, dword [0x48d550]
cmp byte [eax + 0x18e6], 0
je 0x44f031
cmp byte [ebp - 0x7b], 1
je 0x44f035
xor eax, eax
jmp 0x44f037
mov al, 1
mov cl, byte [ebp - 0x71]
call fcn.0044d464
mov byte [ebp - 9], al
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x34]
fild qword [eax]
fcomp dword [0x44f11c]
fnstsw ax
sahf
jne 0x44f0ea
mov eax, dword [ebp + 0x34]
mov dword [eax], 1
xor edx, edx
mov dword [eax + 4], edx
jmp 0x44f0ea
mov ax, 0x171
call fcn.0040bc04
mov edx, 1
call fcn.00411d74
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.0040eb04
cmp byte [ebp - 0x73], 0
je 0x44f0b8
mov eax, dword [0x48d550]
cmp byte [eax + 0x18ea], 0
jne 0x44f0b8
mov eax, dword [0x48d208]
mov edx, 0x11
call fcn.00405a9c
cmp dword [ebp - 0x48], 0
je 0x44f0d1
push 0x4000
push 0x40000
mov eax, dword [ebp - 0x48]
push eax
call sub.kernel32.dll_VirtualFree_1
cmp dword [ebp - 0x38], 0
je 0x44f0ea
push 0x4000
push 0xa0000
mov eax, dword [ebp - 0x38]
push eax
call sub.kernel32.dll_VirtualFree_1
mov al, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x50