Function at 0x430df8
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc7c
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov byte [ebp - 3], dl
mov word [ebp - 2], ax
mov eax, dword [0x4be7e4]
cmp byte [eax], 0
je 0x430e21
mov byte [ebp - 9], 1
jmp 0x4329f2
mov byte [ebp - 9], 0
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, dword [0x4be938]
mov word [eax], 0xffff
movsx eax, word [ebp - 2]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov dl, byte [eax + 0x434]
mov ecx, dword [0x4bef08]
mov byte [ecx], dl
movsx edx, word [ebp - 2]
mov ecx, dword [0x4be754]
mov ebx, eax
mov eax, dword [ebx + 0xc]
cmp dword [eax + 0x5c], 0
je 0x430e6e
mov byte [ebp - 9], 1
jmp 0x4329f2
cmp byte [ebp - 3], 1
je 0x430e92
xor eax, eax
mov al, byte [ebp - 3]
mov edx, dword [0x4be784]
cmp byte [edx + eax + 0x18f6], 0
jne 0x430e92
mov byte [ebp - 9], 1
jmp 0x4329f2
cmp byte [ebp - 3], 1
je 0x431017
cmp byte [ebx + 0x442], 0
jne 0x430ecf
mov eax, dword [0x4be784]
movzx eax, word [eax + 0x1872]
call fcn.004aef80
fmul dword [0x432a00]
fmul dword [0x432a00]
mov eax, dword [ebx + 0xc]
fild qword [eax + 0x10]
fcompp
fnstsw ax
sahf
ja 0x430f39
cmp byte [ebx + 0x442], 0
je 0x431017
mov eax, dword [ebp + 0xc]
call fcn.004aef80
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fmulp st(1)
fstp xword [ebp - 0x374]
wait
mov eax, dword [0x4be784]
movzx eax, word [eax + 0x1876]
call fcn.004aef80
fmul dword [0x432a00]
fmul dword [0x432a00]
fld xword [ebp - 0x374]
fcompp
fnstsw ax
sahf
jbe 0x431017
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e1], 0
je 0x43100e
cmp byte [ebx + 0x445], 0
jne 0x43100e
cmp byte [ebx + 0x442], 0
je 0x430f7d
cmp dword [ebp + 0xc], 0
jbe 0x430f7d
mov eax, dword [0x4be784]
movzx eax, word [eax + 0x1876]
mov edx, dword [0x4be6b0]
mov dword [edx], eax
jmp 0x430f91
mov eax, dword [0x4be784]
movzx eax, word [eax + 0x1872]
mov edx, dword [0x4be6b0]
mov dword [edx], eax
cmp byte [ebp - 3], 0xf
je 0x430fae
mov ax, 0x17e
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4beb38]
call fcn.004b81b0
jmp 0x430fc3
mov ax, 0x17f
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4beb38]
call fcn.004b81b0
mov eax, dword [0x4be6b0]
fild dword [eax]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0x180
call fcn.004aa600
call fcn.004ae0e4
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [0x4beb38]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4beb38]
mov edx, 0x13
call fcn.004b12a8
test al, al
je 0x4329f2
mov byte [ebx + 0x445], 1
mov byte [ebp - 9], 1
jmp 0x4329f2
cmp byte [ebp - 3], 1
je 0x43103c
cmp byte [ebp - 3], 0xf
je 0x43103c
cmp byte [ebx + 0x442], 0
je 0x43103c
mov eax, dword [ebx + 0xc]
cmp byte [eax + 0x96], 4
je 0x4329f2
mov eax, dword [0x4be784]
mov ax, word [eax + 0x183a]
cmp ax, word [ebx + 0x428]
jg 0x431112
lea ecx, [ebp - 0x304]
mov edx, dword [ebx + 0x30]
xor eax, eax
call fcn.00430cd4
test al, al
je 0x431075
lea eax, [ebp - 0x304]
push eax
call sub.kernel32.dll_DeleteFileA_1
dec word [ebx + 0x428]
mov di, word [ebx + 0x428]
test di, di
jl 0x431112
inc edi
mov word [ebp - 0x76], 0
lea ecx, [ebp - 0x304]
mov ax, word [ebp - 0x76]
inc eax
mov edx, dword [ebx + 0x30]
call fcn.00430cd4
test al, al
je 0x431109
push 0
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x304]
xor ecx, ecx
xor eax, eax
call fcn.004b3bb4
lea eax, [ebp - 0x304]
mov ecx, 0x10000000
mov edx, 0xc0000000
call fcn.004adc9c
mov esi, eax
push 0
push 0
push 0x10
push esi
call sub.kernel32.dll_SetFilePointer_1
push 2
lea eax, [ebp - 0x76]
push eax
push esi
call sub.kernel32.dll__hwrite
push esi
call sub.kernel32.dll_CloseHandle_1
push 0
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x304]
xor ecx, ecx
mov al, 1
call fcn.004b3bb4
inc word [ebp - 0x76]
dec di
jne 0x431093
cmp byte [ebp - 3], 0xf
je 0x431131
lea ecx, [ebp - 0x304]
mov edx, dword [ebx + 0x30]
mov ax, word [ebx + 0x428]
call fcn.00430cd4
test al, al
jne 0x431169
call fcn.0042a62c
mov word [ebp - 0x7a], ax
cmp word [ebp - 0x7a], 0x3e7
jbe 0x43115a
mov ax, 0x181
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x4329f2
lea edx, [ebp - 0x304]
mov ax, word [ebp - 0x7a]
call fcn.0042a5c0
cmp byte [ebp - 3], 1
jne 0x43127b
mov eax, dword [0x4be570]
cmp byte [eax], 0
je 0x431187
mov eax, dword [0x4bea34]
cmp byte [eax], 0
jne 0x431197
lea edx, [ebp - 0x304]
mov eax, dword [0x4befa8]
call fcn.004b81b0
cmp dword [ebp + 8], 0
je 0x4311a5
mov eax, dword [ebp + 8]
cmp byte [eax], 0
jne 0x4311bc
mov ax, 0x160
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4beea8]
call fcn.004b81b0
jmp 0x4311c9
mov eax, dword [0x4beea8]
mov edx, dword [ebp + 8]
call fcn.004b81b0
mov eax, dword [0x4be570]
cmp byte [eax], 0
jne 0x4311e6
mov dl, 0x4d
mov ax, 0x1e
call fcn.0048841c
test eax, eax
je 0x4329f2
mov edx, dword [0x4befa8]
lea eax, [ebp - 0x304]
call fcn.004b81b0
mov eax, dword [0x4be784]
cmp byte [eax + 0x19dd], 1
je 0x431218
mov al, byte [ebx + 0x442]
call fcn.00433264
mov byte [ebp - 9], al
jmp 0x4329f2
lea eax, [ebp - 0x304]
mov dl, 0x2e
call fcn.004b838c
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x431241
mov eax, dword [0x4be5a4]
push eax
mov eax, dword [ebp - 0x6c]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x431253
mov eax, dword [0x4be5a4]
push eax
lea eax, [ebp - 0x304]
push eax
call sub.kernel32.dll_lstrcatA
cmp byte [ebx + 0x442], 0
je 0x431283
mov eax, dword [0x4be508]
mov eax, dword [eax]
mov dword [ebp - 8], eax
mov eax, dword [0x4bee14]
mov eax, dword [eax]
mov edx, dword [0x4be508]
sub eax, dword [edx]
inc eax
mov dword [ebp + 0xc], eax
jmp 0x431283
mov eax, dword [0x4beea8]
mov byte [eax], 0
cmp byte [ebx + 0x442], 0
je 0x431343
cmp dword [ebp + 0xc], 0
jbe 0x4312f6
mov eax, dword [ebp - 8]
call fcn.004aef80
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fmulp st(1)
fistp qword [ebp - 0xa0]
wait
mov eax, dword [ebp + 0xc]
call fcn.004aef80
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fmulp st(1)
fistp qword [ebp - 0xa8]
wait
jmp 0x431366
xor eax, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0xc]
cmp byte [eax + 0xa1], 0
je 0x431333
mov ax, word [ebp - 2]
call fcn.004b1cb8
call fcn.004b22dc
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fistp qword [ebp - 0xa8]
wait
jmp 0x431366
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
jmp 0x431366
xor eax, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0xa8], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xa4], edx
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0xac], eax
inc dword [ebp - 0xac]
mov byte [ebp - 0xae], 0
mov eax, dword [0x4be784]
cmp byte [eax + 0x18f3], 0
je 0x4313b0
cmp byte [ebp - 3], 1
jne 0x4313b0
cmp byte [ebx + 0x442], 0
je 0x4313b0
mov eax, dword [0x4be4bc]
mov byte [eax], 1
cmp dword [ebp + 0xc], 0
jbe 0x431425
mov eax, dword [0x4be784]
cmp byte [eax + 0x18f3], 0
je 0x431425
cmp byte [ebp - 3], 1
jne 0x431425
mov eax, dword [0x4bed9c]
cmp byte [eax], 0
jne 0x431425
mov eax, dword [0x4be570]
cmp byte [eax], 0
jne 0x431425
fild dword [ebp - 0xac]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0xbe
call fcn.004aa600
call fcn.004ae0e4
mov eax, dword [0x4bedb0]
mov edx, 0x34
call fcn.004b12a8
test al, al
jne 0x431416
call fcn.004adbc0
jmp 0x4329f2
mov eax, dword [0x4bec68]
mov al, byte [eax]
mov edx, dword [0x4bed9c]
mov byte [edx], al
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x10]
test al, al
je 0x4329f2
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x14]
mov word [ebp - 0x78], 0
push 0
lea eax, [ebp - 0x304]
push eax
call sub.kernel32.dll__lcreat
mov esi, eax
cmp esi, 0xffffffff
jne 0x431474
lea edx, [ebp - 0x304]
mov ax, 3
call fcn.004acdac
jmp 0x4329f2
cmp byte [ebx + 0x442], 0
jne 0x4314d7
mov ax, 0xe9
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bec98]
call fcn.004b81b0
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0xc]
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 0x431562
cmp dword [ebp + 0xc], 0
jbe 0x4314f4
mov ax, 0x17d
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bec98]
call fcn.004b81b0
jmp 0x431509
mov ax, 0xea
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bec98]
call fcn.004b81b0
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0xc]
push eax
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
push 0x432a04
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
cmp dword [ebp - 0xac], 1
jle 0x431562
push 0x432a08
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
fild dword [ebp - 0xac]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
push eax
mov eax, dword [0x4bec98]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4bec98]
xor edx, edx
call fcn.004ad8ec
push 0x10
mov eax, dword [0x4be6e8]
push eax
push esi
call sub.kernel32.dll__hwrite
lea eax, [ebp - 0x204]
mov edx, pe_nt_image_headers32
call fcn.004066e4
cmp byte [ebx + 0x442], 0
jne 0x4315a8
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x204]
call fcn.004b81b0
jmp 0x4315f9
cmp dword [ebp + 0xc], 0
jbe 0x4315e3
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x204]
call fcn.004b81b0
push 0x432a0c
lea eax, [ebp - 0x204]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [ebp - 0x204]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 8]
call fcn.0042efb0
jmp 0x4315f9
mov ax, word [ebp - 2]
call fcn.004b1cb8
mov edx, eax
lea eax, [ebp - 0x204]
call fcn.004b81b0
push pe_nt_image_headers32
lea eax, [ebp - 0x204]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [0x4beea8]
call fcn.004b8144
mov word [ebp - 0x7a], ax
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp word [ebp - 0x7a], 0
je 0x43163d
movzx eax, word [ebp - 0x7a]
push eax
mov eax, dword [0x4beea8]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
lea eax, [ebp - 0x78]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebx + 0x442], 0
je 0x431669
cmp dword [ebp + 0xc], 0
jbe 0x431669
push 1
lea eax, [ebx + 0x442]
push eax
push esi
call sub.kernel32.dll__hwrite
jmp 0x431675
push 1
lea eax, [ebp - 0x78]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebx + 0x442], 0
jne 0x43168f
push 8
mov eax, dword [ebx + 0xc]
add eax, 0x10
push eax
push esi
call sub.kernel32.dll__hwrite
jmp 0x431707
cmp dword [ebp + 0xc], 0
jne 0x4316d3
mov eax, dword [ebx + 0xc]
cmp byte [eax + 0xa1], 0
jne 0x4316af
mov eax, dword [0x4be4c4]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x4316f9
mov ax, word [ebp - 2]
call fcn.004b1cb8
call fcn.004b22dc
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
jmp 0x4316f9
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
push 8
mov eax, dword [0x4be4c4]
push eax
push esi
call sub.kernel32.dll__hwrite
push 4
lea eax, [ebp - 8]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
push 0
push 0
push esi
call sub.kernel32.dll_SetFilePointer_1
mov dword [ebp - 0x54], eax
push 4
lea eax, [ebp + 0xc]
push eax
push esi
call sub.kernel32.dll__hwrite
push 0x10
lea eax, [ebx + 0x144]
push eax
push esi
call sub.kernel32.dll__hwrite
push 4
lea eax, [ebx + 0x30]
push eax
push esi
call sub.kernel32.dll__hwrite
push 4
mov eax, dword [0x4bee1c]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
lea eax, [ebp - 3]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebp - 3], 0xf
je 0x43176f
cmp byte [ebp - 3], 1
jne 0x43177d
push 1
lea eax, [ebp - 0x78]
push eax
push esi
call sub.kernel32.dll__hwrite
jmp 0x43178c
push 1
lea eax, [ebx + 0x434]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
lea eax, [ebp - 0x78]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
lea eax, [ebx + 0x443]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebx + 0x442], 0
je 0x4317d0
cmp byte [ebp - 3], 0xf
je 0x4317bc
cmp byte [ebp - 3], 1
jne 0x4317d0
mov word [ebp - 0x78], 0xffff
push 2
lea eax, [ebp - 0x78]
push eax
push esi
call sub.kernel32.dll__hwrite
jmp 0x4317df
push 2
lea eax, [ebx + 0x428]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebx + 0x442], 0
jne 0x431808
push 8
mov eax, dword [ebx + 0xc]
add eax, 0x24
push eax
push esi
call sub.kernel32.dll__hwrite
push 8
mov eax, dword [ebx + 0xc]
add eax, 0x2c
push eax
push esi
call sub.kernel32.dll__hwrite
jmp 0x431827
lea eax, [ebp - 0x314]
mov edx, 0x10
call fcn.004066e4
push 0x10
lea eax, [ebp - 0x314]
push eax
push esi
call sub.kernel32.dll__hwrite
movzx eax, word [ebx + 0x400]
shl eax, 4
mov edx, dword [0x4be6b0]
mov dword [edx], eax
push 4
mov eax, dword [0x4be6b0]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp word [ebx + 0x400], 0
jbe 0x431878
mov eax, dword [ebx + 0x44]
push eax
call sub.kernel32.dll_GlobalLock
mov dword [ebp - 0x74], eax
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x74]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [ebx + 0x44]
push eax
call sub.kernel32.dll_GlobalUnlock
cmp byte [ebp - 3], 1
jne 0x43188c
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e8], 0
jne 0x431890
xor eax, eax
jmp 0x431892
mov al, 1
mov byte [ebp - 0x7c], al
cmp byte [ebp - 0x7c], 0
je 0x4318c7
mov eax, dword [0x4be784]
mov al, byte [eax + 0x18e8]
mov byte [ebp - 0x81], al
xor eax, eax
mov al, byte [ebp - 0x81]
mov edx, dword [0x4be92c]
movzx eax, byte [edx + eax]
mov word [ebp - 0x84], ax
jmp 0x4318ce
mov byte [ebp - 0x81], 0
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e7], 0
je 0x4318e2
cmp byte [ebp - 3], 1
je 0x4318e6
xor eax, eax
jmp 0x4318e8
mov al, 1
mov byte [ebp - 0x7d], al
mov eax, dword [0x4be784]
cmp byte [eax + 0x18f4], 0
je 0x4318ff
cmp byte [ebp - 3], 1
je 0x431903
xor eax, eax
jmp 0x431905
mov al, 1
mov byte [ebp - 0x7e], al
cmp byte [ebx + 0x442], 0
je 0x431917
cmp byte [ebp - 3], 0xf
jne 0x43191b
xor eax, eax
jmp 0x43191d
mov al, 1
mov byte [ebp - 0x7f], al
cmp byte [ebp - 3], 1
je 0x43192f
mov eax, dword [ebx + 0xc]
cmp dword [eax + 0x68], 0
jg 0x431933
xor eax, eax
jmp 0x431935
mov al, 1
mov byte [ebp - 0x80], al
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x68]
mov eax, 0xfa0
call fcn.004aa570
shl eax, 4
add eax, 4
xor edx, edx
mov dl, byte [ebp - 0x80]
imul edx
xor edx, edx
mov dl, byte [ebp - 0x7c]
movzx ecx, word [ebp - 0x84]
add ecx, 4
imul edx, ecx
xor ecx, ecx
mov cl, byte [ebp - 0x7d]
shl ecx, 6
add edx, ecx
xor ecx, ecx
mov cl, byte [ebp - 0x7e]
shl ecx, 3
add edx, ecx
xor ecx, ecx
mov cl, byte [ebp - 0x7f]
shl ecx, 3
add edx, ecx
add eax, edx
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x431994
add dword [ebp - 0x5c], 2
push 4
lea eax, [ebp - 0x5c]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebp - 0x7c], 0
je 0x4319f5
xor eax, eax
mov al, byte [ebp - 0x81]
add ax, 0xa
mov word [ebp - 0x7a], ax
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
push 2
lea eax, [ebp - 0x84]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
push 0
push 0
push esi
call sub.kernel32.dll_SetFilePointer_1
mov dword [ebp - 0x48], eax
movzx eax, word [ebp - 0x84]
push eax
lea eax, [ebp - 0xd4]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebp - 0x7d], 0
je 0x431ac0
mov word [ebp - 0x7a], 0x200
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 4
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [0x4be6b0]
mov dword [eax], 1
push 4
mov eax, dword [0x4be6b0]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 0x201
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 0x10
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
push 0
push 0
push esi
call sub.kernel32.dll_SetFilePointer_1
mov dword [ebp - 0x4c], eax
push 0x10
lea eax, [ebp - 0x104]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 0x202
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 0x20
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
push 0
push 0
push esi
call sub.kernel32.dll_SetFilePointer_1
mov dword [ebp - 0x58], eax
push 0x20
lea eax, [ebp - 0xf4]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebp - 0x7e], 0
je 0x431b03
mov word [ebp - 0x7a], pe_nt_image_headers32
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 4
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [0x4be6b0]
mov dword [eax], 1
push 4
mov eax, dword [0x4be6b0]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [0x4be784]
cmp byte [eax + 0x18f3], 0
je 0x431b85
cmp byte [ebp - 3], 1
jne 0x431b85
cmp byte [ebx + 0x442], 0
je 0x431b85
mov word [ebp - 0x7a], 0x309
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
lea eax, [ebp - 0x304]
call fcn.004aed10
call fcn.004b8144
add ax, 8
mov word [ebp - 0x7a], ax
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
push 1
push 0
push 0
push esi
call sub.kernel32.dll_SetFilePointer_1
mov dword [ebp - 0x50], eax
mov eax, dword [0x4bedb0]
mov edx, pe_nt_image_headers32
call fcn.004066e4
movzx eax, word [ebp - 0x7a]
push eax
mov eax, dword [0x4bedb0]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebp - 0x7f], 0
je 0x431bcf
mov word [ebp - 0x7a], 0x400
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 4
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [ebx + 0xc]
movzx eax, word [eax + 0x94]
mov edx, dword [0x4be6b0]
mov dword [edx], eax
push 4
mov eax, dword [0x4be6b0]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebp - 0x7f], 0
je 0x431c19
mov word [ebp - 0x7a], 0x400
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov word [ebp - 0x7a], 4
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [ebx + 0xc]
movzx eax, word [eax + 0x94]
mov edx, dword [0x4be6b0]
mov dword [edx], eax
push 4
mov eax, dword [0x4be6b0]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebp - 0x80], 0
je 0x431c66
mov word [ebp - 0x7a], 0x401
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x68]
mov eax, 0xfa0
call fcn.004aa570
shl eax, 4
mov word [ebp - 0x7a], ax
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
movzx eax, word [ebp - 0x7a]
push eax
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x64]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp dword [ebp - 0x5c], 0
jle 0x431c7e
mov word [ebp - 0x7a], 0xffff
push 2
lea eax, [ebp - 0x7a]
push eax
push esi
call sub.kernel32.dll__hwrite
xor eax, eax
mov dword [ebp - 0x40], eax
cmp byte [ebp - 0x7d], 0
je 0x431cb0
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 - 0x8c], eax
push 4
push 0x1000
push 0x25800
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x431ce8
push 0
push 0x25800
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x4328e6
push 4
push 0x1000
push 0x27600
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jne 0x431d20
push 0
push 0x4b000
call fcn.004b1e30
mov edx, eax
mov ax, 0xb
call fcn.004acdac
jmp 0x4328e6
cmp byte [ebx + 0x442], 0
je 0x431d4e
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
push eax
mov eax, 0x25800
pop edx
mov ecx, edx
xor edx, edx
div ecx
mov word [0x4bd594], ax
mov eax, dword [0x4be450]
cmp byte [eax], 0
je 0x431d69
cmp byte [ebx + 0x442], 0
je 0x431d69
mov eax, dword [0x4bea24]
mov byte [eax], 1
cmp byte [ebx + 0x442], 0
je 0x431f50
cmp byte [ebp - 3], 0xf
jne 0x431f50
mov eax, dword [ebp + 0xc]
dec eax
movzx edx, word [0x4bd594]
mov ecx, edx
xor edx, edx
div ecx
inc eax
mov dword [ebp - 0x94], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x94]
test eax, eax
jbe 0x431f3e
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x94]
jae 0x431dd2
movzx edi, word [0x4bd594]
jmp 0x431de6
mov eax, dword [ebp + 0xc]
dec eax
movzx edx, word [0x4bd594]
mov ecx, edx
xor edx, edx
div ecx
mov edi, edx
inc edi
mov eax, dword [ebp - 0x64]
push eax
mov edx, dword [ebp - 0x90]
dec edx
movzx eax, word [0x4bd594]
imul edx, eax
add edx, dword [ebp - 8]
mov ecx, edi
mov al, byte [ebx + 0x442]
call fcn.0049f7f8
test al, al
jne 0x431e23
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0xc]
mov ax, 6
call fcn.004acdac
jmp 0x4328e6
cmp dword [ebp + 0xc], 1
jbe 0x431eb0
mov eax, dword [ebp - 0x90]
call fcn.004aef80
fsub dword [0x432a10]
movzx eax, word [0x4bd594]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fmulp st(1)
mov dword [ebp - 0x37c], edi
xor eax, eax
mov dword [ebp - 0x378], eax
fild qword [ebp - 0x37c]
faddp st(1)
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x384], eax
xor eax, eax
mov dword [ebp - 0x380], eax
fild qword [ebp - 0x384]
fdivp st(1)
fmul dword [0x432a14]
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 0x431eab
call fcn.004b5c48
call fcn.004ae0a4
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
imul edi
push eax
mov eax, dword [ebp - 0x64]
push eax
push esi
call sub.kernel32.dll__hwrite
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0xc], 1
jbe 0x431ee2
mov eax, dword [0x4bed48]
cmp byte [eax], 0
jne 0x431efb
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
imul edi
cmp eax, dword [ebp - 0x10]
je 0x431f2c
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
imul edi
cmp eax, dword [ebp - 0x10]
je 0x4328e6
lea edx, [ebp - 0x304]
mov ax, 5
call fcn.004acdac
jmp 0x4328e6
inc dword [ebp - 0x90]
dec dword [ebp - 0xb4]
jne 0x431dbb
mov eax, dword [0x4be344]
mov byte [eax], 0x64
call fcn.004b5c48
jmp 0x4323a9
fild qword [ebp - 0xa8]
fcomp dword [0x432a18]
fnstsw ax
sahf
jbe 0x432393
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x10]
cmp byte [ebp - 0x7c], 0
je 0x431f88
lea eax, [ebp - 0x364]
mov dl, byte [ebp - 0x81]
call fcn.0040fadc
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov eax, 0xe000
call fcn.00402504
mov dword [ebp - 0x70], eax
cmp byte [ebp - 0x7e], 0
je 0x431feb
xor eax, eax
mov dword [ebp - 0x338], eax
xor eax, eax
mov dword [ebp - 0x32c], eax
xor eax, eax
mov dword [ebp - 0x328], eax
xor eax, eax
mov dword [ebp - 0x324], eax
push 0xf
push 8
push 0
push 0x432a1c
push 0x38
lea eax, [ebp - 0x34c]
mov ecx, 8
mov edx, 5
call fcn.00407ff0
mov dword [ebp - 0x88], eax
xor eax, eax
mov dword [ebp - 0x348], eax
cmp byte [ebx + 0x442], 0
jne 0x432022
mov eax, dword [0x4be84c]
mov byte [eax], 1
push 0x25800
lea edx, [ebp - 0x20]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x64]
mov edi, dword [eax + 0x1a0]
call dword [edi + 0x18]
mov edi, eax
jmp 0x4320ca
cmp dword [ebp + 0xc], 0
jbe 0x432096
mov eax, dword [ebp + 0xc]
call fcn.004aef80
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fmulp st(1)
fild qword [ebp - 0x20]
fsubp st(1)
add esp, 0xfffffff8
fistp qword [esp]
wait
push 0
push 0x25800
call fcn.004aa590
call fcn.004028e8
mov edx, dword [0x4be6b0]
mov dword [edx], eax
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
push eax
lea edx, [ebp - 0xa0]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x64]
mov edi, dword [eax + 0x1a0]
call dword [edi + 0x18]
mov edi, eax
jmp 0x4320ad
push 0x25800
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 8]
push eax
call sub.kernel32.dll__hread
mov edi, eax
mov dword [ebp - 0x37c], edi
xor eax, eax
mov dword [ebp - 0x378], eax
fild qword [ebp - 0x37c]
fild qword [ebp - 0x20]
faddp st(1)
fistp qword [ebp - 0x20]
wait
mov dword [ebp - 0x348], edi
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x34c], eax
cmp edi, 0xffffffff
je 0x432348
mov dword [ebp - 0x37c], edi
xor eax, eax
mov dword [ebp - 0x378], eax
fild qword [ebp - 0x37c]
fild qword [ebp - 0x28]
faddp st(1)
fistp qword [ebp - 0x28]
wait
cmp byte [ebp - 0x7c], 0
je 0x432115
lea eax, [ebp - 0x364]
mov ecx, edi
mov edx, dword [ebp - 0x64]
call fcn.0040fbec
cmp byte [ebp - 0x7e], 0
je 0x4321c7
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], 0x27600
xor eax, eax
mov dword [ebp - 0x338], eax
test edi, edi
jbe 0x43217b
lea eax, [ebp - 0x34c]
mov edx, 1
call fcn.00408588
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x4321b6
fild dword [ebp - 0x88]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
mov edx, 1
call fcn.004b12a8
jmp 0x4321b6
lea eax, [ebp - 0x34c]
mov edx, 4
call fcn.00408588
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 1
je 0x4321b6
fild dword [ebp - 0x88]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
mov edx, 1
call fcn.004b12a8
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
jmp 0x4321d0
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
cmp byte [ebp - 0x7d], 0
je 0x4321ee
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x60]
call fcn.00407c74
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x60]
push eax
push esi
call sub.kernel32.dll__hwrite
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x37c], eax
xor eax, eax
mov dword [ebp - 0x378], eax
fild qword [ebp - 0x37c]
fild qword [ebp - 0x30]
faddp st(1)
fistp qword [ebp - 0x30]
wait
fild qword [ebp - 0x28]
fmul dword [0x432a14]
fild qword [ebp - 0xa8]
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 0x432253
call fcn.004b5c48
call fcn.004ae0a4
mov eax, dword [0x4bed48]
cmp byte [eax], 0
je 0x43227b
mov eax, dword [ebp - 0x70]
call fcn.00402524
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x14]
jmp 0x4328e6
cmp byte [ebx + 0x442], 0
je 0x432333
mov eax, dword [0x4be784]
cmp byte [eax + 0x18f3], 0
je 0x432333
cmp byte [ebp - 3], 1
jne 0x432333
mov eax, esi
call fcn.004b22b8
mov eax, dword [0x4be4c4]
fistp qword [eax]
wait
mov eax, dword [0x4be784]
movzx eax, word [eax + 0x1878]
call fcn.004aef80
fmul dword [0x432a00]
fmul dword [0x432a00]
mov eax, dword [0x4be4c4]
fild qword [eax]
fadd dword [0x432a24]
fcompp
fnstsw ax
sahf
jbe 0x432333
mov eax, dword [ebp + 0xc]
xor edx, edx
push edx
push eax
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fild qword [ebp - 0x20]
fdivrp st(1)
call fcn.004028e8
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x432328
cmp eax, 0
jbe 0x432333
jmp 0x43232a
jle 0x432333
mov byte [ebp - 0xae], 1
jmp 0x432348
cmp edi, 0xffffffff
je 0x432348
test edi, edi
je 0x432348
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x14]
je 0x431ff3
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x14]
cmp edi, 0xffffffff
je 0x432361
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x10]
je 0x432393
cmp edi, 0xffffffff
jne 0x432377
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0xc]
mov ax, 2
call fcn.004acdac
jmp 0x432386
lea edx, [ebp - 0x304]
mov ax, 5
call fcn.004acdac
mov eax, dword [ebp - 0x70]
call fcn.00402524
jmp 0x4328e6
cmp byte [ebp - 0xae], 0
jne 0x4323a9
mov eax, dword [0x4be344]
mov byte [eax], 0x64
call fcn.004b5c48
cmp byte [ebp - 0x7c], 0
je 0x432433
lea edx, [ebp - 0xd4]
lea eax, [ebp - 0x364]
xor ecx, ecx
call fcn.0040fd04
push 0
push 0
mov eax, dword [ebp - 0x48]
push eax
push esi
call sub.kernel32.dll_SetFilePointer_1
movzx eax, word [ebp - 0x84]
push eax
lea eax, [ebp - 0xd4]
push eax
push esi
call sub.kernel32.dll__hwrite
cmp byte [ebx + 0x442], 0
jne 0x432433
mov eax, dword [0x4be784]
mov al, byte [eax + 0x18f1]
cmp al, byte [ebp - 0x81]
jne 0x432433
movzx ecx, word [ebp - 0x84]
lea edx, [ebp - 0xd4]
mov eax, dword [ebx + 0xc]
add eax, 0xb2
call fcn.004066dc
mov eax, dword [0x4be784]
mov al, byte [eax + 0x18f1]
mov edx, dword [ebx + 0xc]
mov byte [edx + 0xd2], al
cmp byte [ebp - 0x7d], 0
je 0x4324de
push 0
push 0
mov eax, dword [ebp - 0x4c]
push eax
push esi
call sub.kernel32.dll_SetFilePointer_1
push 0x10
lea eax, [ebp - 0x104]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [0x4be374]
xor edx, edx
call fcn.00407928
mov edx, 0x2c
mov eax, dword [ebp - 0x8c]
call fcn.00402524
lea ecx, [ebp - 0xf4]
lea edx, [ebp - 0x104]
mov eax, dword [0x4be374]
call fcn.0040f9a8
push 0
push 0
mov eax, dword [ebp - 0x58]
push eax
push esi
call sub.kernel32.dll_SetFilePointer_1
push 0x20
lea eax, [ebp - 0xf4]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [0x4be784]
cmp byte [eax + 0x18ea], 0
jne 0x4324de
mov eax, dword [0x4be374]
mov dl, 1
call fcn.00407928
mov eax, dword [0x4be374]
mov edx, 0x11
call fcn.004066e4
mov eax, dword [0x4be374]
xor edx, edx
call fcn.00407928
cmp byte [ebp - 0xae], 0
je 0x432798
lea eax, [ebp - 0x204]
mov edx, pe_nt_image_headers32
call fcn.004066e4
cmp byte [ebx + 0x442], 0
jne 0x432517
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x204]
call fcn.004b81b0
jmp 0x43258f
cmp dword [ebp + 0xc], 0
jbe 0x432579
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x204]
call fcn.004b81b0
push 0x432a0c
lea eax, [ebp - 0x204]
push eax
call sub.kernel32.dll_lstrcatA
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fild qword [ebp - 0x20]
fdivrp st(1)
call fcn.004028e8
mov ecx, eax
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 8]
call fcn.0042efb0
jmp 0x43258f
mov ax, word [ebp - 2]
call fcn.004b1cb8
mov edx, eax
lea eax, [ebp - 0x204]
call fcn.004b81b0
push 0
push 0
push 0x10
push esi
call sub.kernel32.dll_SetFilePointer_1
push pe_nt_image_headers32
lea eax, [ebp - 0x204]
push eax
push esi
call sub.kernel32.dll__hwrite
push 0
push 0
mov eax, dword [ebp - 0x54]
push eax
push esi
call sub.kernel32.dll_SetFilePointer_1
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fild qword [ebp - 0x20]
fdivrp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004aefa8
mov edx, dword [0x4be7b0]
mov dword [edx], eax
push 4
mov eax, dword [0x4be7b0]
push eax
push esi
call sub.kernel32.dll__hwrite
mov eax, dword [0x4bea34]
cmp byte [eax], 0
je 0x4326ce
lea edx, [ebp - 0x304]
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
mov dl, 0x2e
call fcn.004b2364
dec eax
mov edx, dword [0x4be6b0]
mov dword [edx], eax
cmp dword [ebp - 0xac], 1
jle 0x43265c
fild dword [ebp - 0xac]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
call fcn.004b8144
inc eax
mov edx, dword [0x4be6b0]
sub dword [edx], eax
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
mov edx, dword [0x4bedb0]
mov byte [edx + eax], 0x2d
mov eax, dword [0x4be6b0]
mov eax, dword [eax]
mov edx, dword [0x4bedb0]
mov byte [edx + eax + 1], 0
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004b849c
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, dword [0x4be5a4]
push eax
mov eax, dword [0x4bedb0]
push eax
call sub.kernel32.dll_lstrcatA
mov edx, dword [0x4bedb0]
lea eax, [ebp - 0x304]
call fcn.004b81b0
jmp 0x432706
call fcn.0042a62c
mov word [ebp - 0x7a], ax
cmp word [ebp - 0x7a], 0x3e7
jbe 0x4326f7
mov ax, 0x181
call fcn.004aa600
mov edx, 3
call fcn.004b12a8
jmp 0x4329f2
lea edx, [ebp - 0x304]
mov ax, word [ebp - 0x7a]
call fcn.0042a5c0
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fild qword [ebp - 0x20]
fdivrp st(1)
call fcn.004028e8
add dword [ebp - 8], eax
movsx eax, byte [ebx + 0x442]
mov edx, dword [0x4becf0]
movzx eax, word [edx + eax*2 + 0x54]
mov dword [ebp - 0x368], eax
fild dword [ebp - 0x368]
fild qword [ebp - 0x20]
fdivrp st(1)
call fcn.004028e8
sub dword [ebp + 0xc], eax
push 0
push 0
mov eax, dword [ebp - 0x50]
push eax
push esi
call sub.kernel32.dll_SetFilePointer_1
lea eax, [ebp - 0x304]
call fcn.004aed10
mov edx, eax
mov eax, dword [0x4bedb0]
call fcn.004b81b0
mov eax, dword [0x4bedb0]
call fcn.004b8144
push eax
mov eax, dword [0x4bedb0]
push eax
push esi
call sub.kernel32.dll__hwrite
push esi
call sub.kernel32.dll_CloseHandle_1
call fcn.004adbe0
cmp byte [ebp - 0x7e], 0
je 0x432812
lea eax, [ebp - 0x34c]
call fcn.004089b4
cmp byte [ebp - 0xae], 0
jne 0x432812
mov eax, dword [0x4be570]
cmp byte [eax], 0
jne 0x432812
fild qword [ebp - 0x28]
fild qword [ebp - 0x30]
fsubp st(1)
fmul dword [0x432a14]
fild qword [ebp - 0x28]
fdivp st(1)
call fcn.004028e8
mov edx, dword [0x4be6b0]
mov dword [edx], eax
mov eax, dword [0x4be6b0]
fild dword [eax]
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ax, 0x2b9
call fcn.004aa600
call fcn.004ae0e4
mov eax, dword [0x4bedb0]
mov edx, 4
call fcn.004b12a8
cmp byte [ebp - 0xae], 0
jne 0x43137e
mov eax, dword [0x4be784]
cmp byte [eax + 0x18f3], 0
je 0x432841
cmp byte [ebp - 3], 1
jne 0x432841
cmp byte [ebx + 0x442], 0
je 0x432841
call fcn.004adbc0
mov byte [ebp - 9], 1
cmp byte [ebp - 3], 0xf
je 0x43285d
lea edx, [ebp - 0x304]
mov cl, byte [ebp - 3]
mov ax, word [ebp - 2]
call fcn.00430d20
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e6], 0
je 0x4328b5
cmp byte [ebp - 0x7c], 0
je 0x4328b5
mov ax, 0x2b7
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4beb38]
call fcn.004b81b0
movzx ecx, word [ebp - 0x84]
lea edx, [ebp - 0xd4]
mov eax, dword [0x4be820]
call fcn.004066dc
mov eax, dword [0x4beaac]
mov dl, byte [ebp - 0x81]
mov byte [eax], dl
mov dl, 0x4f
mov ax, 0x1f
call fcn.0048841c
mov eax, dword [0x4bea24]
cmp byte [eax], 0
je 0x4329f2
mov eax, dword [0x4bea24]
mov byte [eax], 0
mov eax, dword [0x4beb4c]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x4beb4c]
xor edx, edx
mov dword [eax], edx
jmp 0x4329f2
cmp byte [ebp - 0x7e], 0
je 0x4328f7
lea eax, [ebp - 0x34c]
call fcn.004089b4
cmp byte [ebp - 0x7d], 0
je 0x432936
mov edx, 0x2c
mov eax, dword [ebp - 0x8c]
call fcn.00402524
mov eax, dword [0x4be784]
cmp byte [eax + 0x18ea], 0
jne 0x43292a
mov eax, dword [0x4be374]
mov edx, 0x11
call fcn.004066e4
mov eax, dword [0x4be374]
xor edx, edx
call fcn.00407928
push esi
call sub.kernel32.dll_CloseHandle_1
call fcn.004adbe0
cmp dword [ebp - 0x64], 0
je 0x43295a
push 0x4000
push 0x25800
mov eax, dword [ebp - 0x64]
push eax
call sub.kernel32.dll_VirtualFree_1
cmp dword [ebp - 0x68], 0
je 0x432973
push 0x4000
push 0x27600
mov eax, dword [ebp - 0x68]
push eax
call sub.kernel32.dll_VirtualFree_1
mov eax, dword [0x4be784]
cmp byte [eax + 0x18f3], 0
je 0x432995
cmp byte [ebp - 3], 1
jne 0x432995
cmp byte [ebx + 0x442], 0
je 0x432995
call fcn.004adbc0
lea eax, [ebp - 0x304]
push eax
call sub.kernel32.dll_DeleteFileA_1
mov eax, dword [0x4bea24]
cmp byte [eax], 0
je 0x4329c9
mov eax, dword [0x4bea24]
mov byte [eax], 0
mov eax, dword [0x4beb4c]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x4beb4c]
xor edx, edx
mov dword [eax], edx
cmp byte [ebp - 3], 1
je 0x4329f2
mov eax, dword [0x4bed48]
cmp byte [eax], 0
je 0x4329f2
mov ax, 0x1d9
call fcn.004aa600
mov edx, 0x66
call fcn.004b12a8
cmp al, 1
sete byte [ebp - 9]
mov al, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8