Function at 0x4019d0
Capabilities:
Create process on windows
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4732ab
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4878d4]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push esi
push edi
mov eax, dword [0x4878d4]
xor eax, esp
push eax
lea eax, [esp + 0x2b8]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ebx, ecx
mov dword [esp + 0x34], ebx
cmp eax, 9
je 0x402774
cmp eax, 3
jne 0x401a58
mov eax, dword [edi + 4]
cmp eax, dword [ebx + 0x18]
jne 0x401a40
mov ecx, dword [ebx + 0x20]
push 0
call fcn.0043c2e0
jmp 0x402774
cmp eax, dword [ebx + 0x1c]
jne 0x402774
mov ecx, dword [ebx + 0x20]
push 1
call fcn.0043c2e0
jmp 0x402774
test eax, eax
jne 0x4020d9
mov eax, dword [edi + 4]
cmp eax, dword [ebx + 8]
jne 0x401a79
push 0
push 0
lea ecx, [ebx - 0x10]
call fcn.00432550
jmp 0x402774
mov ecx, eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
mov esi, str.ListButton
call eax
mov cx, word [eax]
cmp cx, word [esi]
jne 0x401aad
test cx, cx
je 0x401aa9
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x401aad
add eax, 4
add esi, 4
test cx, cx
jne 0x401a87
xor eax, eax
jmp 0x401ab2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401e9d
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [esp + 0x68]
push eax
call edx
mov ecx, eax
mov dword [esp + 0x2c0], 0
mov esi, str.start
call fcn.00432050
mov cx, word [eax]
cmp cx, word [esi]
jne 0x401b06
test cx, cx
je 0x401b02
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x401b06
add eax, 4
add esi, 4
test cx, cx
jne 0x401ae0
xor eax, eax
jmp 0x401b0b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x68]
sete bl
mov dword [esp + 0x2c0], 0xffffffff
call fcn.00432010
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
test bl, bl
je 0x401bd0
mov edx, dword [eax + 0x24]
call edx
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xb0]
call eax
mov ebx, eax
test ebx, ebx
je 0x402774
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0xc0], 0
je 0x402774
push 0x29
call fcn.00459cc6
add esp, 4
push 0x29
mov esi, eax
push 0
push esi
call fcn.0045cac0
mov eax, dword [ebx + 0x18]
mov edx, dword [esp + 0x40]
add esp, 0xc
push esi
push eax
mov eax, dword [edx + 0xc0]
call fcn.00424db0
test eax, eax
jne 0x401bc2
add ebx, 0x1c
mov edx, esi
call fcn.00404040
push esi
call fcn.00459cd1
add esp, 4
jmp 0x402774
mov eax, dword [eax + 4]
lea edx, [esp + 0x68]
push edx
call eax
mov ecx, eax
mov dword [esp + 0x2c0], 1
mov esi, str.stop
call fcn.00432050
mov cx, word [eax]
cmp cx, word [esi]
jne 0x401c17
test cx, cx
je 0x401c13
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x401c17
add eax, 4
add esi, 4
test cx, cx
jne 0x401bf1
xor eax, eax
jmp 0x401c1c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x68]
sete bl
mov dword [esp + 0x2c0], 0xffffffff
call fcn.00432010
mov ecx, dword [edi + 4]
test bl, bl
je 0x401cb1
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xb0]
call eax
test eax, eax
je 0x402774
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0xc0], 0
je 0x402774
push 0
lea esi, [eax + 0x1c]
call fcn.00404080
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [edx + 0xc0]
call fcn.00424d30
jmp 0x402774
mov eax, dword [ecx]
mov eax, dword [eax + 4]
lea edx, [esp + 0x68]
push edx
call eax
mov ecx, eax
mov dword [esp + 0x2c0], 2
mov esi, str.close
call fcn.00432050
mov cx, word [eax]
cmp cx, word [esi]
jne 0x401cfa
test cx, cx
je 0x401cf6
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x401cfa
add eax, 4
add esi, 4
test cx, cx
jne 0x401cd4
xor eax, eax
jmp 0x401cff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x68]
sete bl
mov dword [esp + 0x2c0], 0xffffffff
call fcn.00432010
test bl, bl
je 0x402774
mov ecx, dword [0x48a5b4]
call fcn.004484d0
mov dword [esp + 0x4c], eax
test eax, eax
je 0x402774
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0xc0], 0
je 0x402774
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
mov esi, eax
test esi, esi
je 0x402774
mov edx, dword [esi]
mov eax, dword [edx + 0xb0]
mov ecx, esi
call eax
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
mov edi, eax
test edi, edi
je 0x401da6
mov edx, dword [edi]
mov eax, dword [edx + 0x24]
mov ecx, edi
call eax
mov edi, eax
test ebx, ebx
je 0x402774
test edi, edi
je 0x402774
mov eax, dword [ebx + 0x14]
sub eax, 0x10
call fcn.00404c80
add eax, 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c0], 3
mov eax, dword [ebx + 0x18]
sub eax, 0x10
call fcn.00404c80
add eax, 0x10
mov dword [esp + 0x44], eax
lea esi, [esp + 0x3c]
mov byte [esp + 0x2c0], 4
call fcn.00418960
mov ecx, dword [esp + 0x34]
cmp edi, dword [ecx + 0x24]
jne 0x401e11
mov edx, ecx
mov eax, dword [edx + 0xb8]
mov ecx, dword [esp + 0x3c]
push eax
push 0
push ecx
jmp 0x401e26
mov eax, ecx
cmp edi, dword [eax + 0x28]
jne 0x401e31
mov edx, dword [eax + 0xbc]
mov eax, dword [esp + 0x3c]
push edx
push 0
push eax
push str.list
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [esp + 0x4c]
push 0
push 0
push 0x47c
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebx + 0x1c]
cmp dword [edx - 0xc], 0
lea esi, [ebx + 0x1c]
je 0x401e7d
test eax, eax
je 0x401e68
add eax, 0x28
push eax
lea eax, [ebx + 0x18]
call fcn.004046a0
add esp, 4
test al, al
je 0x401e7d
call fcn.00404080
push eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xc0]
call fcn.00424d70
mov ecx, ebx
call fcn.004240b0
mov esi, ebx
call fcn.00401480
lea ecx, [esp + 0x44]
call fcn.00404200
lea ecx, [esp + 0x3c]
jmp 0x40276f
mov eax, dword [edi + 4]
cmp eax, dword [ebx + 0x14]
jne 0x401ec1
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x402774
push 1
push 0
call fcn.00424cf0
jmp 0x402774
cmp eax, dword [ebx + 0x10]
jne 0x401f56
mov ecx, dword [0x48a5b4]
call fcn.004484d0
mov esi, eax
test esi, esi
je 0x402774
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x402774
push 1
push 0
call fcn.00424d30
push 0
push 0
push 0x47c
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x402774
mov eax, dword [eax + 0x2c]
sub eax, 0x10
call fcn.00404cf0
add eax, 0x10
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c0], 5
cmp dword [eax - 0xc], 0
je 0x401f48
push 0
lea esi, [esp + 0x44]
call fcn.00404080
push eax
mov eax, dword [ebx + 0xc0]
call fcn.00424cf0
lea eax, [esp + 0x40]
call fcn.004048d0
jmp 0x402774
cmp eax, dword [ebx + 0xc]
jne 0x402774
mov ecx, dword [ebx - 0xc]
push 4
push 0x47b46c
push 0x47b474
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x402774
mov edx, ebx
mov ecx, dword [edx + 0x20]
call fcn.0042d680
mov ebx, eax
mov dword [esp + 0x4c], ebx
test ebx, ebx
jne 0x401f9b
mov eax, dword [esp + 0x34]
mov edi, dword [eax + 0x24]
jmp 0x401fab
cmp ebx, 1
jne 0x402774
mov ecx, dword [esp + 0x34]
mov edi, dword [ecx + 0x28]
test edi, edi
je 0x402774
cmp dword [edi + 0x85c], 0
je 0x402774
mov edx, dword [edi + 0x3b4]
mov eax, dword [edx + 0xc]
lea ecx, [edi + 0x3b4]
call eax
mov esi, eax
sub esi, 1
mov dword [esp + 0x44], esi
js 0x4020a0
mov edx, dword [edi + 0x3b4]
mov eax, dword [edx]
lea ecx, [edi + 0x3b4]
push esi
call eax
test eax, eax
je 0x402093
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xb0]
call eax
mov ebx, eax
test ebx, ebx
je 0x402774
mov ecx, dword [0x48a5b4]
call fcn.004484d0
test eax, eax
je 0x402774
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0xc0], 0
je 0x402774
push 0
push 0
push 0x47c
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebx + 0x1c]
cmp dword [edx - 0xc], 0
lea esi, [ebx + 0x1c]
mov ecx, eax
je 0x40207d
test ecx, ecx
je 0x402068
add ecx, 0x28
lea eax, [ebx + 0x18]
push ecx
call fcn.004046a0
add esp, 4
test al, al
je 0x40207d
call fcn.00404080
push eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xc0]
call fcn.00424d70
mov ecx, ebx
call fcn.004240b0
mov esi, ebx
call fcn.00401480
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
sub esi, 1
mov dword [esp + 0x44], esi
jns 0x401fe0
test ebx, ebx
jne 0x4020ba
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0xb8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x402774
cmp ebx, 1
jne 0x402774
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0xbc]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x402774
cmp eax, 4
jne 0x4021fa
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
call eax
test eax, eax
je 0x402774
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xb0]
call eax
mov esi, eax
test esi, esi
je 0x402774
mov eax, dword [esi + 0x24]
mov ecx, dword [edi + 4]
cmp ecx, dword [eax + 0x420]
je 0x40219e
cmp ecx, dword [eax + 0x41c]
je 0x40219e
cmp ecx, dword [eax + 0x424]
jne 0x402774
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x47b498
call fcn.00404170
mov dword [esp + 0x2c0], 6
mov esi, dword [esi + 0x18]
mov edx, dword [esi - 0xc]
push edx
push esi
lea eax, [esp + 0x40]
push eax
call fcn.00404fe0
mov ecx, dword [esp + 0x38]
push 0xa
push 0
push ecx
push str.Explorer.exe
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [esp + 0x38]
jmp 0x40276f
cmp byte [eax + 0x404], 0
mov ecx, dword [0x48a5b4]
je 0x4021c4
call fcn.004484d0
add esi, 0x18
mov ebx, eax
call fcn.00404020
push eax
push 0x97
jmp 0x4021d9
call fcn.004484d0
add esi, 0x18
mov ebx, eax
call fcn.00404020
push eax
push 0xce
push 0x4c8
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x34]
push 0
push 0
add ecx, 0xfffffff0
call fcn.00432550
jmp 0x402774
cmp eax, 0xd
jne 0x402774
mov edx, dword [edi + 4]
cmp edx, dword [ebx + 8]
jne 0x402774
cmp dword [edi + 0x14], 1
jne 0x402774
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x85c]
mov dword [esp + 0x60], eax
test eax, eax
je 0x402774
lea esi, [esp + 0x44]
call fcn.004040a0
lea esi, [esp + 0x58]
mov dword [esp + 0x2c0], 7
call fcn.004040a0
mov esi, dword [esp + 0x34]
mov byte [esp + 0x2c0], 8
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx + 0x3b4]
mov eax, dword [edx + 0xc]
add ecx, 0x3b4
call eax
push eax
push str.ck_W_vN
lea edi, [esp + 0x4c]
call fcn.00405490
mov ecx, dword [esi + 0x28]
mov edx, dword [ecx + 0x3b4]
mov eax, dword [edx + 0xc]
add ecx, 0x3b4
add esp, 8
call eax
push eax
push 0x47b4e0
lea edi, [esp + 0x60]
call fcn.00405490
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx]
mov eax, dword [esp + 0x4c]
mov edx, dword [edx + 0x2c]
add esp, 8
push eax
call edx
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov edx, dword [esp + 0x58]
mov eax, dword [eax + 0x2c]
push edx
call eax
mov ecx, dword [esi + 0xc0]
add ecx, 4
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0x34]
sub ecx, dword [eax + 0x30]
add eax, 0x24
mov eax, 0x38e38e39
imul ecx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
xor ebx, ebx
mov dword [esp + 0x64], esi
mov dword [esp + 0x4c], ebx
test esi, esi
jle 0x40274e
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0xc0]
push ebx
add eax, 0x24
call fcn.00404770
lea ecx, [esp + 0x40]
push ecx
mov ecx, eax
mov dword [esp + 0x54], eax
call fcn.00404170
mov ecx, dword [esp + 0x60]
mov byte [esp + 0x2c0], 9
mov edx, dword [esp + 0x40]
push edx
call fcn.00432f40
mov edi, eax
mov dword [esp + 0x3c], edi
test edi, edi
jne 0x40235c
lea ecx, [esp + 0x40]
mov byte [esp + 0x2c0], 8
call fcn.00404200
jmp 0x402741
mov edx, dword [esp + 0x50]
lea ebx, [edi + 0x1c]
call fcn.00404040
lea esi, [esp + 0x48]
call fcn.004040a0
mov ebx, dword [esp + 0x50]
mov byte [esp + 0x2c0], 0xa
mov eax, dword [ebx + 0x2c]
xor esi, esi
mov dword [esp + 0x38], eax
test eax, eax
jne 0x4023a1
mov edx, 0x47b4f0
lea edi, [esp + 0x48]
call fcn.00404220
mov ebx, dword [esp + 0x3c]
jmp 0x4025f1
xor eax, eax
push 0x18e
push eax
lea ecx, [esp + 0xf6]
push ecx
mov word [esp + 0xf8], ax
call fcn.0045cac0
fild dword [ebx + 0x30]
add esp, 0xc
fidiv dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fld qword [0x47e588]
fmul st(1)
call fcn.0045cdf0
test eax, eax
jg 0x4023e7
fstp st(0)
fldz
jmp 0x4023ed
fmul qword [0x47e580]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [edi + 0x20]
fld st(0)
call fcn.0045cdf0
mov dword [esp + 0x38], eax
cmp eax, 0x64
jne 0x402426
mov byte [edi + 0x11], 0
fstp st(0)
mov edx, 0x47b500
lea edi, [esp + 0x48]
call fcn.00404220
mov esi, 1
jmp 0x4025d2
cmp dword [ebx + 0x34], esi
jne 0x4024f1
mov byte [edi + 0x11], 0
fstp st(0)
mov edx, 0x47b508
lea edi, [esp + 0x48]
call fcn.00404220
mov ebx, dword [esp + 0x3c]
mov edx, dword [ebx + 0x24]
mov ecx, dword [edx + 0x41c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [esp + 0x68]
push edx
call eax
mov ecx, eax
mov byte [esp + 0x2c0], 0xb
call fcn.00432050
lea ecx, [esp + 0x5c]
push ecx
mov ecx, eax
call fcn.004040c0
lea ecx, [esp + 0x68]
mov byte [esp + 0x2c0], 0xd
call fcn.00432010
push str._i_wait.png_1_
push str._i_down.png_1_
lea edx, [esp + 0x64]
push edx
call fcn.00404320
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x41c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov edx, dword [edx + 0x2c]
push eax
call edx
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x418]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc0]
push 0
call eax
mov ecx, dword [ebx + 0x24]
mov ecx, dword [ecx + 0x414]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc0]
push 1
call eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2c0], 0xa
call fcn.00404200
jmp 0x4025d6
sub esp, 8
fstp qword [esp]
push str._.2f
lea edx, [esp + 0xf8]
mov byte [edi + 0x11], 1
call fcn.004054b0
add esp, 0xc
lea edx, [esp + 0xec]
lea edi, [esp + 0x48]
call fcn.00404220
mov edx, 0x47b53c
call fcn.004042e0
mov edi, dword [esp + 0x3c]
mov ecx, dword [edi + 0x24]
mov ecx, dword [ecx + 0x41c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x68]
push eax
call edx
mov ecx, eax
mov byte [esp + 0x2c0], 0xe
call fcn.00432050
lea ecx, [esp + 0x54]
push ecx
mov ecx, eax
call fcn.004040c0
lea ecx, [esp + 0x68]
mov byte [esp + 0x2c0], 0x10
call fcn.00432010
push str._i_down.png_1_
push str._i_wait.png_1_
lea edx, [esp + 0x5c]
push edx
call fcn.00404320
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x41c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x54]
mov edx, dword [edx + 0x2c]
push eax
call edx
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x418]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc0]
push 1
call eax
mov ecx, dword [edi + 0x24]
mov ecx, dword [ecx + 0x414]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc0]
push 0
call eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x2c0], 0xa
call fcn.00404200
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov eax, dword [ebx + 0x24]
push ecx
mov ecx, dword [eax + 0x408]
call fcn.0042d690
mov ecx, dword [ebx + 0x24]
call fcn.00434fc0
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x40c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x48]
mov edx, dword [edx + 0x2c]
push eax
call edx
mov ecx, dword [ebx + 0x24]
call fcn.00434fc0
test esi, esi
je 0x40271f
mov eax, dword [ebx + 0x24]
lea ecx, [eax + 0x3e4]
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx + 0x3b4]
add ecx, 0x3b4
inc eax
push eax
mov eax, dword [edx]
call eax
test eax, eax
je 0x402657
mov ecx, dword [eax + 0x414]
push 0
push 0
push 0
push ecx
mov ecx, dword [esi + 0x30]
call fcn.004356b0
mov eax, dword [ebx + 0x14]
sub eax, 0x10
call fcn.00404c80
add eax, 0x10
mov dword [esp + 0x38], eax
mov byte [esp + 0x2c0], 0x11
mov eax, dword [ebx + 0x18]
sub eax, 0x10
call fcn.00404c80
add eax, 0x10
mov dword [esp + 0x3c], eax
lea esi, [esp + 0x38]
mov byte [esp + 0x2c0], 0x12
call fcn.00418960
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0xb8]
mov edx, dword [esp + 0x38]
push eax
push 0
push edx
push str.list
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [edi + 0xbc]
mov esi, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x3c]
add esi, 0x38
push esi
push eax
push str.list
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov edi, dword [edi + 0x24]
mov ecx, ebx
call fcn.004240b0
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x28]
mov ecx, dword [esp + 0x40]
push eax
push edx
mov edx, esi
call fcn.00423660
test eax, eax
je 0x402706
mov eax, dword [eax + 0x24]
mov esi, eax
mov byte [eax + 0x404], 0
call fcn.00401190
mov esi, ebx
call fcn.00401480
lea ecx, [esp + 0x3c]
call fcn.00404200
lea ecx, [esp + 0x38]
call fcn.00404200
lea ecx, [esp + 0x48]
call fcn.00404200
lea ecx, [esp + 0x40]
mov byte [esp + 0x2c0], 8
call fcn.00404200
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x64]
inc ebx
cmp ebx, esi
mov dword [esp + 0x4c], ebx
jl 0x402303
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0xc0]
add ecx, 4
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x58]
call fcn.00404200
lea ecx, [esp + 0x44]
call fcn.00404200
mov ecx, dword [esp + 0x2b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x270]
xor ecx, esp
call fcn.004599ea
mov esp, ebp
pop ebp
ret 4