Function at 0x102b68f
Capabilities:
Delete file

Disassembly:
mov eax, 0x1082444
call fcn.0105c800
sub esp, 0x3c
push esi
push edi
push dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov esi, ecx
push edi
call fcn.01021223
test al, al
je 0x102c006
push ebx
push 0x1088d70
mov ecx, edi
call fcn.0100a445
push str.TITR
mov ecx, edi
mov dword [ebp - 0x28], eax
call fcn.0100a445
push str.EXTR
mov ecx, edi
mov dword [ebp - 0x1c], eax
call fcn.0100a445
push str.MINR
mov ecx, edi
mov dword [ebp - 0x20], eax
call fcn.0100a445
push str.RCTE
mov ecx, edi
mov dword [ebp - 0x24], eax
call fcn.0100a445
push 0x1088da8
mov ecx, edi
call fcn.0100a445
push str.ELPS
mov ecx, edi
mov dword [ebp - 0x34], eax
call fcn.0100a445
push 0x1088dc0
mov ecx, edi
mov ebx, eax
call fcn.0100a445
push 0x1088dc8
mov ecx, edi
mov dword [ebp - 0x2c], eax
call fcn.0100a445
push str.WINSIZE
mov ecx, edi
mov dword [ebp - 0x30], eax
call fcn.0100a445
mov dword [ebp + 0xc], eax
mov eax, dword [0x1098824]
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
call fcn.01026d1c
test ebx, ebx
je 0x102b775
lea eax, [esi + 0xd0]
push ebx
push eax
mov ecx, esi
mov dword [esi + 0xcc], 1
call fcn.010210a4
cmp dword [ebp + 0xc], 0
je 0x102b854
mov ecx, dword [ebp + 0xc]
push 0
push 0x1088d88
mov dword [esi + 0xcc], 2
call fcn.0100a54c
push eax
lea ecx, [ebp - 0x10]
call fcn.01008a50
mov ecx, dword [ebp + 0xc]
push str.POLY
call fcn.0100a445
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.01020fcf
mov ebx, eax
mov eax, dword [ebp - 0x10]
cmp dword [eax - 8], 0
je 0x102b83a
test ebx, ebx
je 0x102b83a
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
push dword [ebp - 0x18]
push ebx
call fcn.0102decf
push 0x1c
call fcn.0105b249
test eax, eax
pop ecx
je 0x102b7f0
mov ecx, dword [0x1098824]
mov dword [eax], ecx
mov ecx, eax
jmp 0x102b7f2
xor ecx, ecx
lea eax, [ebp - 0x10]
mov dword [ebp + 8], ecx
push eax
call fcn.01008a01
mov eax, dword [ebp + 8]
mov dword [eax + 4], ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 8], ecx
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esi + 0x11c]
lea ecx, [esi + 0x118]
lea edx, [ebp + 8]
push edx
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0102e0db
jmp 0x102b841
push ebx
call fcn.0105b157
pop ecx
mov ecx, dword [ebp + 0xc]
call fcn.0100a4e6
test eax, eax
mov dword [ebp + 0xc], eax
jne 0x102b77f
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x102b8ac
call fcn.0100a5a2
test eax, eax
mov dword [ebp - 0x14], eax
je 0x102b8ac
mov ebx, dword [esi + 0xb4]
test ebx, ebx
je 0x102b87f
mov ecx, ebx
call fcn.01001190
push ebx
call fcn.0105ad60
pop ecx
push 4
call fcn.0105b249
pop ecx
mov dword [ebp + 0xc], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x102b8a0
push 0xffffffffffffff9b
mov ecx, eax
push dword [ebp - 0x14]
call fcn.010087b8
jmp 0x102b8a2
xor eax, eax
and byte [ebp - 4], 0
mov dword [esi + 0xb4], eax
xor ebx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x102b8c4
push dword [ebp - 0x1c]
lea eax, [esi + 0x80]
mov ecx, esi
push eax
call fcn.010210a4
cmp dword [ebp - 0x20], ebx
je 0x102b8da
push dword [ebp - 0x20]
lea eax, [esi + 0x90]
mov ecx, esi
push eax
call fcn.010210a4
cmp dword [ebp - 0x24], ebx
je 0x102b8f0
push dword [ebp - 0x24]
lea eax, [esi + 0xa0]
mov ecx, esi
push eax
call fcn.010210a4
push str.BGCL
mov ecx, edi
call fcn.0100a445
cmp eax, ebx
je 0x102b913
push eax
lea eax, [esi + 0x58]
push eax
mov ecx, esi
call fcn.0102117d
mov byte [esi + 0xf7], 1
mov ecx, dword [ebp - 0x30]
cmp ecx, ebx
je 0x102ba17
push 0xffffffffffffff9b
call fcn.0100a5a2
push eax
lea ecx, [ebp + 0xc]
call fcn.010087b8
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 2
cmp dword [eax - 8], ebx
je 0x102ba0b
push 1
push 0x109bc80
push eax
lea ecx, [ebp - 0x48]
call fcn.01016c4c
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.01016d61
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.01016d61
test ebx, ebx
mov dword [ebp - 0x24], eax
mov edi, 0x109c474
je 0x102b9b4
push edi
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102b9a7
and byte [eax], 0
push ebx
call fcn.0105b81b
pop ecx
mov dword [ebp - 0x30], eax
call fcn.01044416
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fild dword [ebp - 0x30]
fmul dword [0x1088ec4]
fmulp st(1)
call fcn.0105bbc8
jmp 0x102b9ae
push ebx
call fcn.0105b81b
pop ecx
mov dword [esi + 0xb8], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x102b9ff
push edi
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102b9f2
and byte [eax], 0
push ebx
call fcn.0105b81b
pop ecx
mov dword [ebp - 0x30], eax
call fcn.01044422
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fild dword [ebp - 0x30]
fmul dword [0x1088ec4]
fmulp st(1)
call fcn.0105bbc8
jmp 0x102b9f9
push ebx
call fcn.0105b81b
pop ecx
mov dword [esi + 0xbc], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.01016c8b
and byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.01001190
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x102beb5
call fcn.0100a5a2
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x14], ebx
je 0x102bebf
push str.NO_BORDER
push ebx
call fcn.0105b710
pop ecx
mov edi, 0x80
test eax, eax
pop ecx
je 0x102ba74
push str.GRANNYBOX
push ebx
mov dword [esi + 0xb0], 0x800b0000
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102ba8f
or dword [esi + 0xec], edi
mov byte [esi + 0xf0], 1
jmp 0x102ba8f
push str.BORDER
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102ba8f
mov dword [esi + 0xb0], 0x80c80000
push str.NO_FOCUS
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102baa6
or dword [esi + 0xec], edi
push str.POPUP_MENU
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bac8
mov dword [esi + 0xb0], 0x80080000
mov byte [esi + 0xf3], 1
push str.NO_ESCAPE
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bae0
mov byte [esi + 0xf4], 1
push str.CONTROLBOX
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102baf5
or byte [esi + 0x2b], 1
push str.ALWAYS_ON_TOP
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bb0d
mov byte [esi + 0xf5], 1
push str.NO_MINIMIZE
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bb25
and byte [esi + 0xb2], 0xfc
mov eax, dword [0x10a41bc]
and dword [ebp - 0x24], 0
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x24]
push eax
push 0x1088d64
call fcn.01011e40
cmp dword [ebp - 0x24], 0
je 0x102bb4c
mov byte [esi + 0xf5], 1
mov edi, str.WINDOW_LEFT
push edi
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bb75
or byte [esi + 0x104], 1
lea ecx, [esi + 0x108]
push ecx
push edi
push eax
mov ecx, esi
call fcn.0102df27
mov edi, str.WINDOW_TOP
push edi
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bb9e
or byte [esi + 0x104], 2
lea ecx, [esi + 0x10c]
push ecx
push edi
push eax
mov ecx, esi
call fcn.0102df27
mov edi, str.WINDOW_RIGHT
push edi
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bbc7
or byte [esi + 0x104], 4
lea ecx, [esi + 0x108]
push ecx
push edi
push eax
mov ecx, esi
call fcn.0102df27
mov edi, str.WINDOW_BOTTOM
push edi
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bbf0
or byte [esi + 0x104], 8
lea ecx, [esi + 0x10c]
push ecx
push edi
push eax
mov ecx, esi
call fcn.0102df27
push str.DOCKING
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bc08
mov byte [esi + 0xf2], 1
push str.HIDE
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bc20
mov byte [esi + 0xf1], 1
push str.SAVE_STATE
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bc50
push str.IGNORE_RUN_ON_STARTUP
push ebx
mov byte [esi + 0xf6], 1
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bc50
mov byte [esi + 0xfa], 1
push str.SAVE_POS
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bd4c
mov eax, dword [esi + 8]
mov byte [esi + 0xfb], 1
test eax, eax
je 0x102bd4c
mov eax, dword [eax]
cmp dword [eax - 8], 0
jne 0x102bc89
mov eax, dword [0x1098824]
mov dword [ebp + 0xc], eax
jmp 0x102bc98
mov dword [ebp + 0xc], eax
mov ecx, dword [eax - 0xc]
cmp ecx, 0xffffffff
je 0x102bc98
inc ecx
mov dword [eax - 0xc], ecx
mov edi, 0x109c394
mov byte [ebp - 4], 4
mov eax, edi
test eax, eax
je 0x102bcb0
push edi
call fcn.0105c0e0
pop ecx
jmp 0x102bcb2
xor eax, eax
push edi
push eax
lea ecx, [ebp + 0xc]
call fcn.01008a89
mov eax, dword [0x1098824]
mov dword [ebp + 8], eax
mov eax, dword [0x10a41bc]
mov byte [ebp - 4], 5
mov ecx, dword [eax + 4]
lea eax, [ebp + 8]
push eax
push dword [ebp + 0xc]
call fcn.01011ddf
test al, al
je 0x102bd34
push 1
push 0x1098bc0
push dword [ebp + 8]
lea ecx, [ebp - 0x48]
call fcn.01016c4c
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.01016d61
test eax, eax
je 0x102bd0f
push eax
call fcn.0105b81b
pop ecx
mov dword [esi + 0xb8], eax
lea ecx, [ebp - 0x48]
call fcn.01016d61
test eax, eax
je 0x102bd28
push eax
call fcn.0105b81b
pop ecx
mov dword [esi + 0xbc], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.01016c8b
lea ecx, [ebp + 8]
mov byte [ebp - 4], 4
call fcn.01001190
and byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.01001190
push str.VERSION
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102be83
mov edi, dword [esi + 0xb4]
test edi, edi
je 0x102bd83
cmp dword [ebp - 0x28], 0
jne 0x102bddf
test edi, edi
je 0x102bd83
mov ecx, edi
call fcn.01001190
push edi
call fcn.0105ad60
pop ecx
push 4
call fcn.0105b249
pop ecx
mov dword [ebp + 0xc], eax
test eax, eax
mov byte [ebp - 4], 7
je 0x102bda2
push 0xffffffffffffff9b
push ebx
mov ecx, eax
call fcn.010087b8
jmp 0x102bda4
xor eax, eax
and byte [ebp - 4], 0
mov dword [esi + 0xb4], eax
mov ecx, dword [0x10a41bc]
lea eax, [ebp + 0xc]
push eax
call fcn.0100c636
mov eax, dword [eax]
mov ecx, dword [esi + 0xb4]
push eax
mov byte [ebp - 4], 8
mov edx, dword [eax - 8]
push edx
call fcn.01008a89
and byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.01001190
mov ebx, dword [esi + 0xb4]
mov edi, 0x10987d0
mov eax, edi
test eax, eax
je 0x102bdf9
push edi
call fcn.0105c0e0
pop ecx
jmp 0x102bdfb
xor eax, eax
push edi
push eax
mov ecx, ebx
call fcn.01008a89
mov ebx, dword [esi + 0xb4]
mov edi, 0x109c388
mov eax, edi
test eax, eax
je 0x102be1e
push edi
call fcn.0105c0e0
pop ecx
jmp 0x102be20
xor eax, eax
push edi
push eax
mov ecx, ebx
call fcn.01008a89
lea eax, [ebp + 0xc]
push eax
call fcn.01026d1c
mov ecx, eax
call fcn.01004d10
mov eax, dword [eax]
mov ecx, dword [esi + 0xb4]
push eax
mov byte [ebp - 4], 9
mov edx, dword [eax - 8]
push edx
call fcn.01008a89
and byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.01001190
mov ebx, dword [esi + 0xb4]
mov edi, 0x109c384
mov eax, edi
test eax, eax
je 0x102be75
push edi
call fcn.0105c0e0
pop ecx
jmp 0x102be77
xor eax, eax
push edi
push eax
mov ecx, ebx
call fcn.01008a89
mov ebx, dword [ebp - 0x14]
push str.FULLSCREEN
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102be9b
mov byte [esi + 0xf9], 1
push str.USE_MASK
push ebx
call fcn.0105b710
pop ecx
test eax, eax
pop ecx
je 0x102bebf
mov byte [esi + 0xfc], 1
jmp 0x102bebf
mov dword [esi + 0xb0], 0x80c80000
cmp dword [ebp - 0x2c], 0
je 0x102bff7
mov ecx, dword [ebp - 0x2c]
call fcn.0100a5a2
mov edi, eax
call fcn.01026d1c
push dword [eax + 0x34]
mov ecx, esi
push str.icon
push edi
call fcn.0102202f
mov ebx, eax
test ebx, ebx
je 0x102bff7
mov ecx, ebx
call fcn.0100a5e6
mov ecx, ebx
mov edi, eax
call fcn.0100a5ee
test edi, edi
mov ebx, eax
je 0x102bff7
test ebx, ebx
je 0x102bff7
mov eax, dword [edi]
add edi, 4
test eax, eax
mov dword [ebp + 0xc], eax
jbe 0x102bff7
inc eax
push eax
call fcn.0105b249
add ebx, 0xfffffffc
lea ecx, [ebp + 0xc]
push ebx
push edi
push ecx
push eax
mov dword [ebp + 8], eax
call fcn.0101cb11
add esp, 0x14
test eax, eax
jne 0x102bff7
push 0x406
lea ecx, [ebp - 0x40]
call fcn.0100943b
push 0x10a40b8
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xa
call fcn.01009662
push 0x1098d40
lea ecx, [ebp - 0x40]
call fcn.0100972d
push eax
call fcn.0105dfc4
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x102bfd3
push edi
push dword [ebp + 0xc]
push 1
push dword [ebp + 8]
call fcn.0105e02e
push edi
call fcn.0105ddff
add esp, 0x14
lea ecx, [ebp - 0x40]
push 0x10
pop ebx
push ebx
push 0x20
push 0x20
push 1
call fcn.0100972d
mov edi, dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 0
call edi
push ebx
push ebx
push ebx
push 1
lea ecx, [ebp - 0x40]
mov dword [esi + 0xe0], eax
call fcn.0100972d
push eax
push 0
call edi
mov dword [esi + 0xe4], eax
lea ecx, [ebp - 0x40]
call fcn.0100972d
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push dword [ebp + 8]
call fcn.0105ad60
and byte [ebp - 4], 0
pop ecx
lea ecx, [ebp - 0x40]
call fcn.010095e5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.01001190
mov al, 1
pop ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret 8