Function at 0x42f33c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe0c
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.004adc9c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x42f394
mov edx, dword [ebp - 8]
mov ax, 1
call fcn.004acdac
jmp 0x430c9d
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 [0x4be4dc]
push eax
lea eax, [ebp - 0x8f]
push eax
call sub.kernel32.dll_lstrcmpA
test eax, eax
jne 0x430c27
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 [0x4be538]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 2
mov eax, dword [0x4beed8]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
push 1
push 0
mov eax, dword [0x4beed8]
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 [0x4be55c]
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 [0x4be55c]
cmp byte [eax], 0
jne 0x42f46a
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 0x42f49b
mov eax, dword [ebp + 0x34]
fild qword [eax]
call fcn.004028e8
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
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 [0x4be6b0]
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 0x42f526
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 [0x4be6b0]
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 [0x4be6b0]
cmp dword [eax], 0
jle 0x42f5aa
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
and eax, 0x8000000f
jns 0x42f57a
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
je 0x42f5aa
mov eax, dword [ebp + 0x40]
cmp byte [eax], 2
jne 0x42f58c
mov eax, dword [ebp + 0x40]
mov byte [eax], 0
push 1
push 0
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
mov eax, dword [0x4be6b0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x4be6b0]
cmp dword [eax], 0
jle 0x42f62a
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
test eax, eax
jns 0x42f5c2
add eax, 0xf
sar eax, 4
mov edx, dword [ebp + 0x2c]
mov word [edx], ax
cmp byte [ebp - 1], 0
jne 0x42f615
mov eax, dword [0x4be6b0]
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 [0x4be6b0]
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 0x42f62a
push 1
push 0
mov eax, dword [0x4be6b0]
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 0x42f65b
mov eax, dword [ebp + 0x18]
mov byte [eax], 0
cmp dword [ebp - 0x14], 0
jle 0x42f98c
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 0x42f6aa
je 0x42f7dd
sub eax, 0x100
je 0x42f6cc
sub eax, 0x100
je 0x42f71f
dec eax
je 0x42f773
dec eax
je 0x42f7a8
jmp 0x42f8d9
sub eax, 0x400
je 0x42f849
dec eax
je 0x42f88d
sub eax, 0xfbfe
je 0x42f98c
jmp 0x42f8d9
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 0x430c27
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 0x42f713
mov ax, 0x171
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x42f665
cmp dword [ebp - 0x58], 0
seta bl
jmp 0x42f665
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 0x430c27
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 0x42f766
mov ax, 0x172
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x42f665
cmp dword [ebp - 0x54], 0
seta byte [ebp - 0x73]
jmp 0x42f665
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 0x430c27
push 0x10
lea eax, [ebp - 0x157]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov byte [ebp - 0x76], 1
jmp 0x42f665
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 0x430c27
push 0x20
lea eax, [ebp - 0x127]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
mov byte [ebp - 0x77], 1
jmp 0x42f665
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 [0x4bedb0]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
cmp dword [ebp + 0x18], 0
je 0x42f665
mov eax, dword [0x4bedb0]
cmp byte [eax], 0
je 0x42f665
mov byte [ebp - 0x7a], 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
call fcn.004b81b0
mov dl, 0x5c
mov eax, dword [ebp + 0x18]
call fcn.004b838c
inc eax
mov byte [eax], 0
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [ebp + 0x18]
push eax
call sub.kernel32.dll_lstrcatA
jmp 0x42f665
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 0x430c27
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.004aa570
mov edx, dword [ebp + 0x24]
mov word [edx], ax
jmp 0x42f665
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 0x42f665
cmp word [ebp - 0x1e], 7
jne 0x42f8e6
mov word [ebp - 0x1e], 0xd
cmp word [ebp - 0x1e], 9
jne 0x42f8f3
mov word [ebp - 0x1e], 0x10
cmp word [ebp - 0x1e], 0x20
jne 0x42f900
mov word [ebp - 0x1e], 0x14
cmp word [ebp - 0x1e], 0x21
jne 0x42f90d
mov word [ebp - 0x1e], 0x11
cmp word [ebp - 0x1e], 0xa
jbe 0x42f966
cmp word [ebp - 0x1e], 0x15
jae 0x42f966
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 [0x4be92c]
movzx eax, byte [edx + eax]
cmp ax, word [ebp - 0x20]
jne 0x430c27
movzx eax, word [ebp - 0x20]
push eax
lea eax, [ebp - 0xe7]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__lread
jmp 0x42f665
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 0x42f665
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x42f9a3
cmp byte [ebp - 0x7b], 1
je 0x42f9a3
mov eax, dword [ebp + 8]
mov dword [eax], 0xffffffff
cmp byte [ebp - 0x73], 0
je 0x42f9d8
cmp dword [ebp - 0x54], 1
jne 0x42f9d8
mov eax, dword [0x4be784]
movzx eax, byte [eax + 0x18dc]
add ax, 0x1f
mov dl, 0x4a
call fcn.0048841c
test eax, eax
je 0x430c3a
cmp byte [ebp - 0x76], 0
je 0x430c27
cmp byte [ebp - 0x73], 0
je 0x42fa32
cmp byte [ebp - 0x76], 0
je 0x42fa32
cmp byte [ebp - 0x77], 0
je 0x42fa32
lea ecx, [ebp - 0x147]
lea edx, [ebp - 0x157]
mov eax, dword [0x4be374]
call fcn.0040f9a8
lea edx, [ebp - 0x147]
lea eax, [ebp - 0x127]
mov ecx, 0x20
call fcn.004ab7fc
test al, al
jne 0x42fa32
mov ax, 0x173
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x430c3a
test bl, bl
je 0x42faa6
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 0x42fa6e
push 0
push 0xa0000
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x430c3a
xor eax, eax
mov dword [ebp - 0xa7], eax
xor eax, eax
mov dword [ebp - 0xa3], eax
lea eax, [ebp - 0xc7]
call fcn.00407fbc
test eax, eax
je 0x42faa6
push 0
push 0x38
call fcn.004b849c
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x430c3a
cmp byte [ebp + 0x50], 0
jne 0x42fab4
mov eax, dword [0x4be994]
mov byte [eax], 0
mov eax, dword [0x4be55c]
cmp byte [eax], 0
jne 0x42fb52
cmp byte [ebp - 1], 0
jne 0x42fb52
mov eax, dword [0x4be994]
mov byte [eax], 1
cmp byte [ebp - 0x7b], 1
jne 0x42faed
mov dl, 0x23
mov ax, 0x24
call fcn.0048841c
test eax, eax
je 0x430c3a
push dword [ebp - 0x64]
push dword [ebp - 0x68]
xor eax, eax
call fcn.004adfd4
test al, al
je 0x430c3a
mov eax, dword [0x4be994]
cmp byte [eax], 3
jne 0x42fb3a
call fcn.004ae0a4
mov al, 1
call fcn.00421294
test al, al
je 0x42fad4
mov eax, dword [0x4be538]
call fcn.004b1914
test al, al
je 0x42fb3a
mov eax, dword [0x4be538]
xor edx, edx
call fcn.004b0584
test al, al
je 0x42fad4
mov eax, dword [0x4be994]
cmp byte [eax], 1
jbe 0x42fb52
mov edx, dword [0x4be538]
mov eax, dword [ebp + 0x54]
call fcn.004b81b0
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x42ff5f
cmp byte [ebp - 1], 0
jne 0x42ff5f
mov eax, dword [0x4be55c]
cmp byte [eax], 0x1a
jle 0x42fc97
mov edx, dword [0x4be538]
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
call fcn.004aecf0
mov eax, dword [0x4bedb0]
call fcn.004b8144
mov edx, dword [0x4bedb0]
mov byte [edx + eax - 1], 0
mov eax, dword [0x4bedb0]
push eax
push 1
push 0x417
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
test eax, eax
je 0x430c3a
push 0
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.004a92e8
mov byte [ebp - 0x79], al
mov eax, dword [0x4be874]
movsx eax, word [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov al, byte [eax + 0x442]
mov byte [ebp - 0x78], al
xor eax, eax
mov al, byte [ebp - 0x78]
imul eax, eax, 0xb
mov edx, dword [0x4beaf4]
xor ecx, ecx
mov cl, byte [ebp - 0x79]
imul ecx, ecx, 0xb
mov esi, dword [0x4beaf4]
push edi
lea edi, [esi + ecx*8 - 0x948]
lea esi, [edx + eax*8 - 0x948]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
pop edi
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x4be408]
mov eax, dword [edx + eax*4 + 0xa8]
xor edx, edx
mov dl, byte [ebp - 0x79]
mov ecx, dword [0x4be408]
mov dword [ecx + edx*4 + 0xa8], eax
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x4becf0]
mov ax, word [edx + eax*2 + 0x54]
xor edx, edx
mov dl, byte [ebp - 0x79]
mov ecx, dword [0x4becf0]
mov word [ecx + edx*2 + 0x54], ax
push 0
push 0
push 0x10
mov eax, dword [0x4be874]
movsx eax, word [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x4be55c]
mov dl, byte [ebp - 0x79]
mov byte [eax], dl
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [0x4bea38]
mov dword [edx], eax
mov eax, dword [0x4bef88]
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 [0x4be604]
mov dword [edx], eax
mov eax, dword [0x4be430]
mov dl, byte [ebp - 0x7a]
mov byte [eax], dl
cmp byte [ebp + 0x50], 0
jne 0x42fceb
mov eax, dword [0x4be994]
mov byte [eax], 0
mov dl, 0x22
mov ax, 0x23
call fcn.0048841c
test eax, eax
je 0x430c3a
jmp 0x42fd36
mov eax, dword [0x4be604]
mov eax, dword [eax]
mov edx, dword [0x4bea38]
sub eax, dword [edx]
inc eax
mov edx, dword [0x4bec88]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
jne 0x42fd1c
mov eax, dword [0x4bea38]
mov eax, dword [eax]
mov edx, dword [0x4be4b0]
mov dword [edx], eax
jmp 0x42fd29
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov edx, dword [0x4be4b0]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
mov al, byte [eax]
mov edx, dword [0x4be55c]
mov byte [edx], al
mov eax, dword [0x4be994]
cmp byte [eax], 2
jne 0x42fd4d
call fcn.0049ea10
test al, al
je 0x430c3a
mov eax, dword [0x4bec88]
mov eax, dword [eax]
call fcn.004aef80
fild dword [ebp - 0x40]
fmulp st(1)
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
mov eax, dword [0x4be994]
cmp byte [eax], 1
jne 0x42fdf6
mov eax, dword [0x4be4c4]
fild qword [eax]
fcomp dword [0x430cac]
fnstsw ax
sahf
jbe 0x42fdf6
mov eax, dword [0x4be4c4]
push dword [eax + 4]
push dword [eax]
call fcn.004b1e30
mov edx, eax
mov eax, dword [0x4beb38]
call fcn.004b81b0
mov ax, 0x2b8
call fcn.004aa600
mov edx, dword [0x4beb38]
call fcn.004ae1b0
fld xword [0x430cb0]
mov eax, dword [0x4be4c4]
fild qword [eax]
fcompp
fnstsw ax
sahf
jae 0x42fde2
mov eax, dword [0x4bedb0]
mov edx, 0x77
call fcn.004b12a8
test al, al
je 0x430c3a
jmp 0x42fdf6
mov eax, dword [0x4bedb0]
mov edx, 1
call fcn.004b12a8
jmp 0x430c3a
mov ecx, dword [0x4be538]
mov eax, dword [0x4be55c]
mov al, byte [eax]
xor edx, edx
call fcn.0049e530
mov eax, dword [0x4be994]
cmp byte [eax], 3
jae 0x42fe9e
mov eax, dword [0x4be55c]
cmp byte [eax], 0
jge 0x42fe27
call fcn.004a7468
lea edx, [ebp - 0x1d0]
mov eax, dword [0x4be55c]
mov al, byte [eax]
call fcn.004a03f8
test al, al
je 0x42fe8a
mov eax, dword [0x4be55c]
movsx eax, byte [eax]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
cmp eax, dword [ebp - 0x40]
je 0x42fe6d
mov ax, 0x174
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x430c9d
mov eax, dword [0x4be55c]
movsx eax, byte [eax]
mov edx, dword [0x4be408]
mov eax, dword [edx + eax*4 + 0xa8]
mov dword [ebp - 0x5c], eax
jmp 0x42ff5f
mov edx, dword [0x4be538]
mov ax, 0xa
call fcn.004acdac
jmp 0x430c3a
push dword [ebp - 0x64]
push dword [ebp - 0x68]
xor eax, eax
call fcn.004adfd4
test al, al
je 0x430c3a
cmp byte [ebp + 0x50], 0
jne 0x42ff5f
mov eax, dword [0x4be538]
call fcn.004b8144
dec eax
mov byte [ebp - 0x78], al
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x4be538]
cmp byte [edx + eax], 0x3a
jne 0x42feeb
xor eax, eax
mov al, byte [ebp - 0x78]
mov edx, dword [0x4be538]
mov byte [edx + eax], 0
cmp byte [ebp - 0x7a], 0
jne 0x42ff1b
push 0x430cbc
mov eax, dword [0x4be538]
push eax
call sub.kernel32.dll_lstrcatA
mov ecx, dword [0x4bec88]
mov ecx, dword [ecx]
mov edx, dword [0x4bea38]
mov edx, dword [edx]
mov eax, dword [0x4be538]
call fcn.0042efb0
call fcn.004ae0a4
mov al, 1
call fcn.00421294
test al, al
je 0x42fcc8
mov eax, dword [0x4be538]
call fcn.004b1914
test al, al
je 0x42ff51
mov eax, dword [0x4be538]
xor edx, edx
call fcn.004b0584
test al, al
je 0x42fcc8
mov edx, dword [0x4be538]
mov eax, dword [ebp + 0x54]
call fcn.004b81b0
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x42ff77
cmp byte [ebp - 1], 0
je 0x42ff77
mov eax, dword [0x4be994]
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 0x42ffaf
push 0
push 0x40000
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x430c3a
cmp byte [ebp - 2], 0
jne 0x42ffdb
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x4302a8
cmp byte [ebp - 0x71], 0
je 0x4302a8
mov eax, dword [0x4be994]
cmp byte [eax], 3
jae 0x4302a8
mov byte [ebp - 0x74], 1
mov ax, 0x176
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bec98]
call fcn.004b81b0
mov eax, dword [0x4bec98]
xor edx, edx
call fcn.004ad8ec
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 0x43003c
mov eax, dword [0x4be374]
mov dl, 1
call fcn.00407928
push 1
mov ecx, dword [0x4be374]
mov edx, dword [fcn.00407928]
xor eax, eax
call fcn.00407c1c
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 0x43005d
lea eax, [ebp - 0x1e8]
mov dl, byte [ebp - 0x71]
call fcn.0040fadc
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 - 0xbf], eax
mov dword [ebp - 0xc3], esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xc7], eax
cmp byte [ebp - 0x73], 0
je 0x4300a2
lea eax, [ebp - 0x157]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00407d08
test bl, bl
je 0x4300ea
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0xc7]
mov ecx, dword [ebp - 0x48]
mov edx, 0xa0000
call fcn.0042f20c
test eax, eax
jge 0x4300dc
cmp byte [ebp - 0x73], 0
je 0x430c3a
mov eax, dword [0x4be374]
xor edx, edx
call fcn.00407928
jmp 0x430c3a
mov edi, dword [ebp - 0xb3]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
jmp 0x4300f2
mov edi, esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
cmp byte [ebp - 0x71], 0
je 0x430108
lea eax, [ebp - 0x1e8]
mov ecx, edi
mov edx, dword [ebp - 0x34]
call fcn.0040fbec
mov dword [ebp - 0x1f0], edi
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
fild qword [ebp - 0x70]
faddp st(1)
fistp qword [ebp - 0x70]
wait
fild qword [ebp - 0x70]
fmul dword [0x430cc0]
fild qword [ebp - 0x68]
fdivp st(1)
call fcn.004028e8
mov edx, dword [0x4be344]
mov byte [edx], al
mov eax, dword [0x4be344]
mov al, byte [eax]
mov edx, dword [0x4be8d0]
cmp al, byte [edx]
je 0x430156
call fcn.004b5c48
mov eax, 0xa
call fcn.00403010
test eax, eax
jne 0x430169
call fcn.004ae0a4
test bl, bl
je 0x43018b
mov eax, dword [ebp - 0xbf]
cdq
push edx
push eax
mov eax, esi
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x430183
cmp eax, dword [esp]
pop edx
pop eax
jne 0x4300a2
cmp esi, 0x40000
jb 0x4301a1
mov eax, dword [0x4bed48]
cmp byte [eax], 0
je 0x43005d
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 0x4301d1
mov edx, 0x2c
mov eax, dword [ebp - 0x80]
call fcn.00402524
mov eax, dword [0x4be374]
xor edx, edx
call fcn.00407928
test bl, bl
je 0x4301fb
lea eax, [ebp - 0xc7]
call fcn.0040adfc
xor eax, eax
mov dword [ebp - 0xa7], eax
xor eax, eax
mov dword [ebp - 0xa3], eax
lea eax, [ebp - 0xc7]
call fcn.00407fbc
mov eax, dword [0x4bed48]
cmp byte [eax], 0
jne 0x430281
cmp byte [ebp - 0x71], 0
je 0x43021e
lea edx, [ebp - 0x107]
lea eax, [ebp - 0x1e8]
xor ecx, ecx
call fcn.0040fd04
call fcn.004adbe0
push dword [ebp - 0x64]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea eax, [ebp - 0xe7]
push eax
lea eax, [ebp - 0x107]
push eax
mov al, byte [ebp - 2]
xor al, 1
push eax
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e6], 0
je 0x430257
cmp byte [ebp - 0x7b], 1
je 0x430261
cmp byte [ebp - 2], 0
jne 0x430261
xor eax, eax
jmp 0x430263
mov al, 1
mov edx, dword [0x4be784]
mov dl, byte [edx + 0x189b]
mov cl, byte [ebp - 0x71]
call fcn.0042f030
test al, al
je 0x430c3a
jmp 0x4302ac
cmp byte [ebp - 2], 0
jne 0x430c3a
mov ax, 0x179
call fcn.004aa600
mov edx, 2
call fcn.004b12a8
test al, al
je 0x430c3a
jmp 0x4302ac
mov byte [ebp - 0x74], 0
cmp byte [ebp - 2], 0
jne 0x430c3a
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x43034b
mov eax, dword [0x4be994]
cmp byte [eax], 2
jne 0x43034b
cmp byte [ebp + 0x50], 0
jne 0x43034b
mov eax, dword [0x4bec88]
cmp dword [eax], 1
jne 0x4302f4
mov ax, 0x178
call fcn.004aa600
mov edx, dword [0x4be538]
call fcn.004ae1b0
jmp 0x430334
mov eax, dword [0x4bec88]
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0x177
call fcn.004aa600
call fcn.004ae0e4
mov edx, dword [0x4be538]
mov eax, dword [0x4bedb0]
call fcn.004ae1b0
mov eax, dword [0x4bedb0]
mov edx, 0x77
call fcn.004b12a8
test al, al
je 0x430c3a
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x43035f
mov eax, dword [0x4be994]
cmp byte [eax], 2
je 0x4303bd
cmp byte [ebp + 0x50], 0
jne 0x430375
push 0
mov eax, dword [ebp + 0x54]
push eax
call sub.kernel32.dll__lcreat
mov dword [ebp - 0x1c], eax
jmp 0x4303a6
mov ecx, 0x8000000
mov edx, 0xc0000000
mov eax, dword [ebp + 0x54]
call fcn.004adc9c
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4be6b0]
xor edx, edx
mov dword [eax], edx
push 2
mov eax, dword [0x4be6b0]
push eax
push 0
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_SetFilePointer_1
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x4303c4
mov edx, dword [ebp + 0x54]
mov ax, 1
call fcn.004acdac
jmp 0x430c3a
mov dword [ebp - 0x1c], 0xffffffff
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x4303f6
mov eax, dword [0x4be994]
cmp byte [eax], 2
jne 0x4303f6
mov eax, dword [0x4bea14]
mov byte [eax], 1
mov edx, 0x430cc4
xor ecx, ecx
xor eax, eax
call fcn.004184e0
test al, al
je 0x430c3a
mov ax, 0x175
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bec98]
call fcn.004b81b0
mov eax, dword [0x4be55c]
cmp byte [eax], 0
jne 0x430477
mov eax, dword [0x4be784]
movzx eax, byte [eax + 0x188c]
mov edx, dword [0x4be8e8]
lea eax, [edx + eax*2]
push eax
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4be538]
call fcn.004aed10
mov edx, eax
mov eax, dword [0x4bec98]
mov ecx, 0x3c
call fcn.004b820c
mov eax, dword [0x4be784]
movzx eax, byte [eax + 0x188c]
lea eax, [eax + eax*4]
mov edx, dword [0x4be720]
lea eax, [edx + eax]
push eax
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
jmp 0x430499
mov eax, dword [0x4be538]
push eax
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4be3f4]
push eax
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4bec98]
xor edx, edx
call fcn.004ad8ec
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x430550
mov eax, dword [0x4be994]
cmp byte [eax], 2
jae 0x430550
mov eax, dword [0x4be4b0]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
sub eax, dword [edx]
mov edx, dword [0x4bea38]
add eax, dword [edx]
call fcn.004aef80
mov eax, dword [0x4be55c]
movsx eax, byte [eax]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x1f4], eax
fild dword [ebp - 0x1f4]
fmulp st(1)
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
push 8
mov eax, dword [0x4be4c4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll__hwrite
mov eax, dword [0x4be55c]
movsx eax, byte [eax]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov edx, dword [0x4bec88]
imul dword [edx]
mov edx, dword [0x4be6b0]
mov dword [edx], eax
push 4
mov eax, dword [0x4be6b0]
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 0x43055b
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 0x43058d
mov eax, dword [0x4be374]
mov dl, 1
call fcn.00407928
push 1
mov ecx, dword [0x4be374]
mov edx, dword [fcn.00407928]
xor eax, eax
call fcn.00407c1c
mov dword [ebp - 0x80], eax
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x430727
mov eax, dword [0x4bea38]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
cmp eax, dword [edx]
je 0x4306db
mov eax, dword [0x4bea38]
mov eax, dword [eax]
call fcn.004aef80
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
fsubp st(1)
fild dword [ebp - 0x40]
fmulp st(1)
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
cmp byte [ebp - 0x73], 0
jne 0x430616
test bl, bl
jne 0x430616
push 1
mov eax, dword [0x4be4c4]
call fcn.004af014
push eax
mov eax, dword [0x4be4c4]
push dword [eax + 4]
push dword [eax]
call fcn.004af008
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_SetFilePointer_1
jmp 0x4306db
mov eax, dword [0x4be4c4]
fild qword [eax]
fdiv dword [0x430cc8]
call fcn.004028f4
mov dword [ebp - 0x28], eax
mov eax, dword [0x4be4c4]
push dword [eax + 4]
push dword [eax]
push 0
push 0x40000
call fcn.004af060
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
test eax, eax
jle 0x4306ae
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 0x430686
lea eax, [ebp - 0x157]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00407d08
mov dword [ebp - 0x1f0], esi
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
fild qword [ebp - 0x70]
faddp st(1)
fistp qword [ebp - 0x70]
wait
inc dword [ebp - 0x24]
dec dword [ebp - 0x84]
jne 0x430658
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 0x4306db
lea eax, [ebp - 0x157]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00407d08
mov eax, dword [0x4bec88]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
jae 0x43070f
mov eax, dword [0x4bec88]
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
mov eax, dword [ebp + 0x34]
fild qword [eax]
fmulp st(1)
fistp qword [ebp - 0x68]
wait
mov eax, dword [0x4be994]
cmp byte [eax], 3
jne 0x430727
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 0x430743
lea eax, [ebp - 0x1e8]
mov dl, byte [ebp - 0x71]
call fcn.0040fadc
mov eax, dword [0x4be450]
cmp byte [eax], 0
je 0x430769
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x430769
mov eax, dword [0x4be994]
cmp byte [eax], 2
jne 0x430769
mov eax, dword [0x4be520]
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 0x430797
lea eax, [ebp - 0x157]
push eax
mov eax, dword [ebp - 0x80]
mov ecx, esi
mov edx, dword [ebp - 0x48]
call fcn.00407d08
xor eax, eax
mov dword [ebp - 0xbf], eax
mov dword [ebp - 0xc3], esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xc7], eax
test bl, bl
je 0x4307e8
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0xc7]
mov ecx, dword [ebp - 0x48]
mov edx, 0xa0000
call fcn.0042f20c
test eax, eax
jge 0x4307da
mov eax, dword [0x4bed48]
mov byte [eax], 1
jmp 0x430981
mov edi, dword [ebp - 0xb3]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
jmp 0x4307f0
mov edi, esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x430864
mov eax, dword [0x4bec88]
mov eax, dword [eax]
mov edx, dword [ebp + 0x48]
cmp eax, dword [edx]
jae 0x430864
mov dword [ebp - 0x1f0], edi
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
fild qword [ebp - 0x70]
faddp st(1)
fild dword [ebp - 0x40]
fdivp st(1)
call fcn.004028e8
push edx
push eax
mov eax, dword [0x4bec88]
mov eax, dword [eax]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x430845
cmp eax, dword [esp]
pop edx
pop eax
jae 0x430864
jmp 0x430849
pop edx
pop eax
jge 0x430864
fild dword [ebp - 0x40]
fild qword [ebp - 0x70]
fdivrp st(1)
call fcn.004028e8
mov edi, dword [0x4bec88]
mov edi, dword [edi]
sub edi, eax
imul edi, dword [ebp - 0x40]
test edi, edi
jbe 0x4308da
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x4308c7
mov eax, dword [0x4be994]
cmp byte [eax], 2
jne 0x4308c7
mov eax, dword [0x4be4b0]
mov eax, dword [eax]
mov edx, dword [ebp + 0x4c]
sub eax, dword [edx]
mov edx, dword [0x4bea38]
add eax, dword [edx]
call fcn.004aef80
fild dword [ebp - 0x40]
fmulp st(1)
fild qword [ebp - 0x70]
faddp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
mov eax, dword [0x4be6d8]
mov eax, dword [eax]
mov ecx, edi
mov edx, dword [ebp - 0x34]
call fcn.0041bd64
test al, al
je 0x4308c0
mov dword [ebp - 0x30], edi
jmp 0x4308df
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x4308df
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 0x4308df
xor eax, eax
mov dword [ebp - 0x30], eax
cmp byte [ebp - 0x74], 0
jne 0x4308fb
cmp byte [ebp - 0x71], 0
je 0x4308fb
lea eax, [ebp - 0x1e8]
mov ecx, edi
mov edx, dword [ebp - 0x34]
call fcn.0040fbec
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1f0], eax
xor eax, eax
mov dword [ebp - 0x1ec], eax
fild qword [ebp - 0x1f0]
fild qword [ebp - 0x70]
faddp st(1)
fistp qword [ebp - 0x70]
wait
fild qword [ebp - 0x68]
fcomp dword [0x430ccc]
fnstsw ax
sahf
jbe 0x43095f
fild qword [ebp - 0x70]
fmul dword [0x430cc0]
fild qword [ebp - 0x68]
fdivp st(1)
call fcn.004028e8
mov edx, dword [0x4be344]
mov byte [edx], al
mov eax, dword [0x4be344]
mov al, byte [eax]
mov edx, dword [0x4be8d0]
cmp al, byte [edx]
je 0x43095a
call fcn.004b5c48
call fcn.004ae0a4
test bl, bl
je 0x430981
mov eax, dword [ebp - 0xbf]
cdq
push edx
push eax
mov eax, esi
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x430979
cmp eax, dword [esp]
pop edx
pop eax
jne 0x4307ae
cmp esi, 0x40000
jb 0x43099c
cmp edi, dword [ebp - 0x30]
ja 0x43099c
mov eax, dword [0x4bed48]
cmp byte [eax], 0
je 0x430769
mov eax, dword [0x4be520]
cmp byte [eax], 0
je 0x4309c4
mov eax, dword [0x4be520]
mov byte [eax], 0
mov eax, dword [0x4be6b4]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x4be6b4]
xor edx, edx
mov dword [eax], edx
test bl, bl
je 0x4309d3
lea eax, [ebp - 0xc7]
call fcn.0040adfc
push 0x4000
push 0x40000
mov eax, dword [ebp - 0x48]
push eax
call sub.kernel32.dll_VirtualFree_1
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp dword [ebp - 0x1c], 0xffffffff
je 0x4309fe
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp byte [ebp - 0x73], 0
je 0x430a3a
mov edx, 0x2c
mov eax, dword [ebp - 0x80]
call fcn.00402524
mov eax, dword [0x4be784]
cmp byte [eax + 0x18ea], 0
jne 0x430a2e
mov eax, dword [0x4be374]
mov edx, 0x11
call fcn.004066e4
mov eax, dword [0x4be374]
xor edx, edx
call fcn.00407928
cmp edi, dword [ebp - 0x30]
ja 0x430a51
mov eax, dword [0x4bed48]
cmp byte [eax], 0
je 0x430ab9
cmp esi, 0x40000
jne 0x430ab9
call fcn.004adbe0
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x430a6a
mov eax, dword [0x4be994]
cmp byte [eax], 2
je 0x430a89
cmp edi, dword [ebp - 0x30]
jbe 0x430a7b
mov edx, dword [ebp + 0x54]
mov ax, 5
call fcn.004acdac
mov eax, dword [ebp + 0x54]
push eax
call sub.kernel32.dll_DeleteFileA_1
jmp 0x430c9d
mov eax, dword [0x4be784]
cmp byte [eax + 0x189b], 0
je 0x430aa1
cmp byte [ebp - 0x7a], 0
jne 0x430c9d
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
call fcn.0042f248
jmp 0x430c9d
mov eax, dword [0x4be344]
mov byte [eax], 0x64
call fcn.004b5c48
cmp byte [ebp - 0x74], 0
jne 0x430ae5
cmp byte [ebp - 0x71], 0
je 0x430ae5
lea edx, [ebp - 0x107]
lea eax, [ebp - 0x1e8]
xor ecx, ecx
call fcn.0040fd04
mov eax, dword [0x4be450]
cmp byte [eax], 0
je 0x430b28
mov eax, dword [0x4be55c]
cmp byte [eax], 0xff
je 0x430b03
mov eax, dword [0x4be55c]
cmp byte [eax], 0xfe
jne 0x430b28
mov eax, dword [0x4beb98]
cmp dword [eax], 0
je 0x430b23
push 0
push 0
push 0x404
mov eax, dword [0x4beb98]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
call fcn.0049ea34
call fcn.004adbe0
mov eax, dword [0x4be55c]
cmp byte [eax], 0
je 0x430b68
mov eax, dword [0x4be994]
cmp byte [eax], 3
jae 0x430b68
mov eax, dword [0x4be784]
cmp byte [eax + 0x189b], 0
je 0x430b55
cmp byte [ebp - 0x7a], 0
jne 0x430b68
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
call fcn.0042f248
cmp byte [ebp - 0x7a], 0
je 0x430b8e
mov eax, dword [0x4be4b0]
mov eax, dword [eax]
mov edx, dword [0x4bec88]
add eax, dword [edx]
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [0x4be55c]
mov al, byte [eax]
mov edx, dword [ebp + 0x14]
mov byte [edx], al
cmp byte [ebp - 0x74], 0
je 0x430b9a
mov byte [ebp - 9], 1
jmp 0x430bf5
push dword [ebp - 0x64]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea eax, [ebp - 0xe7]
push eax
lea eax, [ebp - 0x107]
push eax
push 0
mov eax, dword [0x4be784]
cmp byte [eax + 0x189b], 0
je 0x430bca
cmp byte [ebp - 0x7a], 0
jne 0x430bce
xor edx, edx
jmp 0x430bd0
mov dl, 1
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e6], 0
je 0x430be4
cmp byte [ebp - 0x7b], 1
je 0x430be8
xor eax, eax
jmp 0x430bea
mov al, 1
mov cl, byte [ebp - 0x71]
call fcn.0042f030
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 [0x430cd0]
fnstsw ax
sahf
jne 0x430c9d
mov eax, dword [ebp + 0x34]
mov dword [eax], 1
xor edx, edx
mov dword [eax + 4], edx
jmp 0x430c9d
mov ax, 0x171
call fcn.004aa600
mov edx, 1
call fcn.004b12a8
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.004adbe0
cmp byte [ebp - 0x73], 0
je 0x430c6b
mov eax, dword [0x4be784]
cmp byte [eax + 0x18ea], 0
jne 0x430c6b
mov eax, dword [0x4be374]
mov edx, 0x11
call fcn.004066e4
cmp dword [ebp - 0x48], 0
je 0x430c84
push 0x4000
push 0x40000
mov eax, dword [ebp - 0x48]
push eax
call sub.kernel32.dll_VirtualFree_1
cmp dword [ebp - 0x38], 0
je 0x430c9d
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