Function at 0x405f40
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52e1d0
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
push ebx
push esi
push edi
mov eax, dword [0x57bb30]
xor eax, esp
push eax
lea eax, [esp + 0x1b8]
mov dword fs:[0], eax
mov edi, ecx
call fcn.00416d97
xor ebx, ebx
cmp edi, ebx
jne 0x405f85
xor eax, eax
xor esi, esi
jmp 0x405f8a
mov eax, dword [edi + 0x20]
mov esi, eax
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x80030000
push eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, dword [edi + 0x188]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov eax, dword [edi + 0x20]
push 1
push 0x80
push eax
call esi
mov eax, dword [edi + 0x188]
mov ecx, dword [edi + 0x20]
push eax
push ebx
push 0x80
push ecx
call esi
push ebx
push 0x6000000
push ebx
mov ecx, edi
call fcn.0041416e
mov eax, dword [edi + 0x20]
push ebx
push 0x67
lea ecx, [esp + 0x3c]
mov dword [edi + 0x1290], eax
call fcn.00416932
mov dword [esp + 0x1c0], ebx
lea ecx, [esp + 0xcc]
mov dword [esp + 0x34], vtable.COptionDialog.0
call fcn.0040f593
mov esi, vtable.CComboBox.0
mov dword [esp + 0xcc], esi
lea ecx, [esp + 0x140]
mov byte [esp + 0x1c0], 1
call fcn.0040f593
mov dword [esp + 0x140], esi
mov dword [esp + 0x1c0], 2
call fcn.00402d50
push 0x640
mov dword [edi + 0x12c0], 0x64
call fcn.0050a660
mov dword [edi + 0xdf8], eax
add esp, 4
xor eax, eax
xor ecx, ecx
jmp 0x406070
mov edx, dword [edi + 0xdf8]
mov dword [ecx + edx], 0xffffffff
inc eax
add ecx, 0x10
cmp eax, dword [edi + 0x12c0]
jl 0x406070
push 0x400
mov dword [edi + 0xdb4], 0x400
call fcn.0050a660
add esp, 4
push 0x400
push ebx
push eax
mov dword [edi + 0xdac], eax
call fcn.0050bab0
add esp, 0xc
push 0x1004
call fcn.0050a660
mov ecx, dword [edi + 0x20]
add esp, 4
mov dword [edi + 0xdbc], eax
lea eax, [edi + 0x12b0]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, edi
call fcn.004088c0
mov eax, dword [edi + 0xd8c]
cdq
idiv dword [edi + 0xd94]
mov dword [edi + 0xde8], 0x78
mov esi, eax
mov eax, dword [edi + 0xdd0]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0xd94], eax
imul eax, esi
mov dword [edi + 0xd8c], eax
mov eax, dword [edi + 0xda0]
cmp eax, ebx
je 0x406143
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [edi + 0xda0], ebx
mov edx, dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
push 0xffffffffffffffff
push ebx
push edx
call esi
lea eax, [edi + 0x13c]
push eax
mov ebx, edi
call fcn.00408ab0
mov ecx, dword [edi + 0x20]
push 0xffffffffffffffff
push 0
push ecx
mov dword [edi + 0xdcc], 2
call esi
mov esi, edi
call fcn.004088c0
test dword [edi + 0xdf4], 0x100
mov dword [edi + 0xde4], 4
je 0x4061a3
mov edx, dword [edi + 0xdc8]
add edx, edx
add edx, edx
mov dword [edi + 0xdfc], edx
jmp 0x4061b3
mov eax, dword [edi + 0xdd4]
add eax, eax
add eax, eax
mov dword [edi + 0xdfc], eax
mov esi, edi
call fcn.004088c0
mov ecx, dword [edi + 0x20]
push 0xffffffffffffffff
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push ecx
mov esi, esp
mov dword [esp + 0x18], esp
mov dword [esp + 0x18], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4061ef
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a908
mov byte [esp + 0x1c8], 3
test ecx, 0xffff0000
jne 0x40622c
mov edx, ecx
movzx ebx, dx
push ebx
call fcn.00415e7a
test eax, eax
je 0x40623a
push ebx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x40623a
push 8
push 0x55a908
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0x18c]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
mov ebx, dword [sym.imp.USER32.dll_LoadImageA]
push 0x1000
push 0
push 0
push 0
push 0x92
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov ecx, dword [esi + 0xb8]
lea eax, [esp + 0x1c]
push eax
push 0x18
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x24]
mov eax, 0x55555556
imul dword [esp + 0x20]
push 0x202
mov eax, edx
push ecx
shr eax, 0x1f
add eax, edx
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x18], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4062fe
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a914
mov byte [esp + 0x1c8], 4
test ecx, 0xffff0000
jne 0x406343
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x406351
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x406351
push 8
push 0x55a914
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0x588]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0x84
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cdq
push 0x202
and edx, 3
push ecx
add eax, edx
sar eax, 2
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40640c
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a920
mov byte [esp + 0x1c8], 5
test ecx, 0xffff0000
jne 0x406451
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x40645f
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x40645f
push 6
push 0x55a920
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0x2e0]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0xac
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x24]
mov eax, 0x55555556
imul dword [esp + 0x20]
push 0x202
mov eax, edx
push ecx
shr eax, 0x1f
add eax, edx
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40651d
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a928
mov byte [esp + 0x1c8], 6
test ecx, 0xffff0000
jne 0x406562
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x406570
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x406570
push 6
push 0x55a928
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0x434]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0xaf
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x24]
mov eax, 0x55555556
imul dword [esp + 0x20]
push 0x202
mov eax, edx
push ecx
shr eax, 0x1f
add eax, edx
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40662e
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a930
mov byte [esp + 0x1c8], 7
test ecx, 0xffff0000
jne 0x406673
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x406681
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x406681
push 6
push 0x55a930
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0x984]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0xb3
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x24]
mov eax, 0x55555556
imul dword [esp + 0x20]
push 0x202
mov eax, edx
push ecx
shr eax, 0x1f
add eax, edx
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40673f
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a938
mov byte [esp + 0x1c8], 8
test ecx, 0xffff0000
jne 0x406784
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x406792
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x406792
push 4
push 0x55a938
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0x6dc]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0x9e
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cdq
push 0x202
and edx, 3
push ecx
add eax, edx
sar eax, 2
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40684d
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a940
mov byte [esp + 0x1c8], 9
test ecx, 0xffff0000
jne 0x406892
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x4068a0
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x4068a0
push 6
push 0x55a940
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0x830]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0xa0
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cdq
push 0x202
and edx, 3
push ecx
add eax, edx
sar eax, 2
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40695b
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a948
mov byte [esp + 0x1c8], 0xa
test ecx, 0xffff0000
jne 0x4069a0
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x4069ae
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x4069ae
push 4
push 0x55a948
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0xad8]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0x86
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cdq
push 0x202
and edx, 3
push ecx
add eax, edx
sar eax, 2
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push 1
push ecx
mov esi, esp
mov dword [esp + 0x1c], esp
mov dword [esp + 0x1c], esi
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406a69
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, 0x55a950
mov byte [esp + 0x1c8], 0xb
test ecx, 0xffff0000
jne 0x406aae
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x1c], eax
call fcn.00415e7a
test eax, eax
je 0x406abc
mov ecx, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00401c70
jmp 0x406abc
push 6
push 0x55a950
mov ecx, esi
call fcn.004018c0
lea esi, [edi + 0xc2c]
mov byte [esp + 0x1c8], 2
call fcn.00401350
lea ecx, [esi + 0xb4]
mov dword [esi + 0xc0], 0xff00ff
call fcn.0040d149
call fcn.004167b1
mov eax, dword [eax + 8]
push 0x1000
push 0
push 0
push 0
push 0x87
push eax
call ebx
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d11b
mov eax, dword [esi + 0xb8]
lea edx, [esp + 0x1c]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x24]
mov eax, 0x55555556
imul dword [esp + 0x20]
push 0x202
mov eax, edx
push ecx
shr eax, 0x1f
add eax, edx
push eax
push 0
push 0
mov dword [esi + 0xb0], ecx
push 0
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.00414493
push ecx
mov ebx, esp
mov dword [esp + 0x18], esp
mov dword [esp + 0x18], ebx
call fcn.0040bf81
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x406b78
push 0x80004005
call fcn.00402060
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebx], eax
mov ecx, 0x55a958
mov byte [esp + 0x1c4], 0xc
test ecx, 0xffff0000
jne 0x406bbd
mov edx, ecx
movzx eax, dx
push eax
mov dword [esp + 0x18], eax
call fcn.00415e7a
test eax, eax
je 0x406bcb
mov ecx, dword [esp + 0x14]
push ecx
push eax
mov ecx, ebx
call fcn.00401c70
jmp 0x406bcb
push 1
push 0x55a958
mov ecx, ebx
call fcn.004018c0
mov ecx, esi
mov byte [esp + 0x1c4], 2
call fcn.00401760
mov ecx, edi
call fcn.004093e0
push 0x12e
push edi
mov esi, 0x55a960
call fcn.00407d40
mov esi, edi
call fcn.004088c0
mov edx, dword [edi + 0x20]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
push 0x1f
push str.http:__jademins.tistory.com_20
lea ecx, [edi + 0x12c4]
call fcn.004018c0
push edi
lea ecx, [esp + 0x1c]
call fcn.00409ac0
mov byte [esp + 0x1c0], 0xd
mov esi, dword [edi + 0x12c4]
xor eax, eax
test esi, esi
setne al
test eax, eax
jne 0x406c45
push 0x80004005
call fcn.00402060
mov eax, dword [esp + 0x18]
push esi
push eax
call fcn.0050ace6
add esp, 8
test eax, eax
setne al
test al, al
je 0x406cb2
push 3
push 0x55aab0
push 0x55aab8
mov ecx, edi
call fcn.0040fa50
cmp eax, 6
jne 0x406cb2
mov edx, dword [esp + 0x18]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x406c96
push 0
lea ecx, [esp + 0x1c]
call fcn.00401fc0
mov edx, dword [esp + 0x18]
push 5
push 0
push 0
push edx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov byte [esp + 0x1c0], 2
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x406cda
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x34], vtable.COptionDialog.0
lea ecx, [esp + 0x140]
mov dword [esp + 0x1c0], 0xf
call fcn.0040dab0
lea ecx, [esp + 0xcc]
mov byte [esp + 0x1c0], 0xe
call fcn.0040dab0
lea ecx, [esp + 0x34]
mov dword [esp + 0x1c0], 0xffffffff
call fcn.00416872
mov eax, 1
mov ecx, dword [esp + 0x1b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret