Function at 0x402260
Capabilities:
Check if file exists
Get file attributes
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44361b
mov eax, dword fs:[0]
push eax
sub esp, 0x6d0
mov eax, dword [0x456580]
xor eax, esp
mov dword [esp + 0x6c8], eax
push ebx
push esi
push edi
mov eax, dword [0x456580]
xor eax, esp
push eax
lea eax, [esp + 0x6e0]
mov dword fs:[0], eax
push 0x449b88
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4022b7
xor eax, eax
jmp 0x40595f
mov edx, dword [0x449b90]
xor eax, eax
mov ecx, 0x7f
lea edi, [esp + 0xd4]
rep stosd dword es:[edi], eax
mov ecx, dword [0x449b8c]
stosw word es:[edi], ax
mov eax, dword [0x449b88]
mov dword [esp + 0xd4], eax
mov eax, dword [0x449b94]
mov dword [esp + 0xd8], ecx
mov ecx, dword [0x449b98]
mov dword [esp + 0xdc], edx
mov edx, dword [0x449b9c]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], edx
call fcn.00414236
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40232f
push 0x80004005
call fcn.004016c0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x6e8], 0
call fcn.00414236
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x402364
push 0x80004005
call fcn.004016c0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
lea esi, [esp + 0x74]
mov byte [esp + 0x6e8], 1
call fcn.004059f0
push 0x405b50
push 0x405ac0
push 4
push 0x10
lea ecx, [esp + 0xa4]
push ecx
call fcn.0042c995
push 5
mov ebx, 2
push str.title
lea ecx, [esp + 0x18]
mov byte [esp + 0x6f0], bl
call fcn.00401340
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [esp + 0xd4]
push edx
push 0x200
xor eax, eax
push 0x45aa70
push eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
push eax
push str.TITLE
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x4023f7
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b168
call fcn.00401340
push 7
push 0x449d0c
lea ecx, [esp + 0x18]
call fcn.00401340
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.ICON
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
lea ebx, [ebx]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x402460
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b16c
call fcn.00401340
push 8
push str.handicon
lea ecx, [esp + 0x18]
call fcn.00401340
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xd4]
push eax
push 0x200
push 0x45aa70
push 0
push ecx
push str.ICON
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x4024c4
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b170
call fcn.00401340
push 6
push str.topbkg
lea ecx, [esp + 0x18]
call fcn.00401340
push 4
push str..pic
lea ecx, [esp + 0x18]
call fcn.00407770
lea edx, [esp + 0xd4]
push edx
push 0x200
xor eax, eax
push 0x45aa70
push eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
push eax
push str.FRM_TOP
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x402537
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b174
call fcn.00401340
push 9
push str.centerbkg
lea ecx, [esp + 0x18]
call fcn.00401340
push 4
push str..pic
lea ecx, [esp + 0x18]
call fcn.00407770
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
lea ebx, [ebx]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x4025b0
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b178
call fcn.00401340
push 0xb
push str.defaultpage
lea ecx, [esp + 0x18]
call fcn.00401340
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xd4]
push eax
push 0x200
push 0x45aa70
push 0
push ecx
push str.FRM_CENTER
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x402614
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b180
call fcn.00401340
push 0xa
push str.routerpage
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 3
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402692
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..pic
lea ecx, [esp + 0x18]
mov dword [0x45b184], edx
push ecx
lea edx, [esp + 0x24]
push edx
mov dword [0x45b188], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 4
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402714
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x402750
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b18c
call fcn.00401340
push str..num
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 5
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4027be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push ebx
push edx
push str.FRM_CENTER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 8
push str.cardpage
lea ecx, [esp + 0x1c]
mov dword [0x45b190], eax
call fcn.00401340
push str..pos
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 6
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40283c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..pic
lea ecx, [esp + 0x18]
mov dword [0x45b194], edx
push ecx
lea edx, [esp + 0x24]
push edx
mov dword [0x45b198], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 7
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4028be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4028f7
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b19c
call fcn.00401340
push str..num
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 8
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402965
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 4
push edx
push str.FRM_CENTER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 9
push str.adobepage
lea ecx, [esp + 0x1c]
mov dword [0x45b1a0], eax
call fcn.00401340
push str..pos
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 9
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4029e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..pic
lea ecx, [esp + 0x18]
mov dword [0x45b1a4], edx
push ecx
lea edx, [esp + 0x24]
push edx
mov dword [0x45b1a8], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0xa
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402a66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x402aa0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b1ac
call fcn.00401340
push 0xc
push str.browsecdpage
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0xb
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402b1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..pic
lea ecx, [esp + 0x18]
mov dword [0x45b1b4], edx
push ecx
lea edx, [esp + 0x24]
push edx
mov dword [0x45b1b8], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0xc
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402ba0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x402be0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b1bc
call fcn.00401340
push 0xb
push str.supportpage
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0xd
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402c5e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..pic
lea ecx, [esp + 0x18]
mov dword [0x45b1c4], edx
push ecx
lea edx, [esp + 0x24]
push edx
mov dword [0x45b1c8], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0xe
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402cdc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x402d15
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b1cc
call fcn.00401340
push 3
push 0x449f30
lea ecx, [esp + 0x18]
call fcn.00401340
push 4
push str..num
lea ecx, [esp + 0x18]
call fcn.00407770
mov esi, dword [esp + 0x10]
lea eax, [esp + 0xd4]
push eax
push 0
push esi
push str.FRM_CENTER_LEFT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 6
mov dword [0x45b1d4], eax
jle 0x402d82
mov eax, 6
mov dword [0x45b1d4], eax
test eax, eax
mov dword [esp + 0x2c], 0
jle 0x40319c
mov dword [esp + 0x28], 0x45b1e4
mov ecx, dword [esp + 0x2c]
push ecx
lea edx, [esp + 0x18]
push str.btn_d
push edx
call fcn.00408210
push str..pos
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00406e40
add esp, 0x18
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0xf
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402dff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER_LEFT
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [ebx - 0xc], edx
push ecx
lea edx, [esp + 0x3c]
push edx
mov dword [ebx - 8], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x10
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402e7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER_LEFT
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x402eb7
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, ebx
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x11
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402f24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebx]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
mov edx, dword [esp + 0x20]
push edx
push str.FRM_CENTER_LEFT
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
jmp 0x402f60
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x402f60
sub eax, ecx
sar eax, 1
push eax
lea esi, [ebx - 4]
push 0x45aa70
mov ecx, esi
call fcn.00401340
push str..presspic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x48]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x12
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402fd0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esi]
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push esi
push edx
push str.FRM_CENTER_LEFT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea ecx, [eax + 2]
jmp 0x403010
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x403010
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [ebx + 4]
call fcn.00401340
push str..linkpage
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x13
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40307e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER_LEFT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4030b7
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [ebx + 8]
call fcn.00401340
push str..link
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x14
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x403125
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push esi
push str.FRM_CENTER_LEFT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403160
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [ebx + 0xc]
call fcn.00401340
mov ecx, dword [esp + 0x2c]
mov eax, dword [0x45b1d4]
add ecx, 1
add ebx, 0x1c
cmp ecx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
jl 0x402d9a
test eax, eax
mov dword [esp + 0x30], 0
jle 0x403f1e
mov edx, dword [esp + 0x30]
push edx
lea eax, [esp + 0x18]
push str.btn_d
push eax
call fcn.00408210
push str._type
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.00406e40
add esp, 0x18
mov byte [esp + 0x6e8], 0x15
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea edi, [esi - 0x10]
cmp eax, edi
je 0x403236
cmp dword [edi + 0xc], 0
lea ebx, [edi + 0xc]
jl 0x403224
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x403224
push eax
call fcn.004082b0
mov esi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x40321b
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
add esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x403236
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [esp + 0x10]
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40325e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi - 0xc]
mov eax, dword [esi - 8]
mov edi, str..num
mov dword [esp + 0x28], edi
mov ecx, 1
sub ecx, dword [esi - 4]
sub edi, esi
lea ebx, [edx + 4]
sub eax, ebx
sar edi, 1
or eax, ecx
mov dword [esp + 0x2c], edx
jge 0x403298
push ebx
lea ecx, [esp + 0x14]
call fcn.00401530
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
cmp edi, edx
ja 0x4032a3
lea ecx, [esi + edi*2]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push 8
push edx
lea ecx, [esi + eax*2]
push 8
push ecx
call fcn.0042c352
add esp, 0x10
test ebx, ebx
jl 0x405988
cmp ebx, dword [esi - 8]
jg 0x405988
lea edx, [esp + 0xd4]
push edx
push 0
push esi
mov dword [esi - 0xc], ebx
push str.FRM_CENTER_RIGHT
mov word [esi + ebx*2], 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], 0
jle 0x403f07
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x1c]
push str.btn_d_type_d
push edx
call fcn.00408210
push str..pos
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.00406e40
add esp, 0x1c
mov byte [esp + 0x6e8], 0x16
mov eax, dword [eax]
lea edi, [eax - 0x10]
lea ebx, [esi - 0x10]
cmp edi, ebx
je 0x4033e8
cmp dword [ebx + 0xc], 0
jl 0x4033d6
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x4033d6
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x403379
cmp eax, dword [edi]
jne 0x403379
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4033b4
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x405983
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0042c352
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4033cd
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x4033e8
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [esp + 0x10]
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403410
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0
push 0
lea ecx, [esp + 0x2dc]
push str.POINT__d__d_
push ecx
call fcn.0042cf90
add esp, 0x10
lea edx, [esp + 0xd4]
push edx
push 0xff
lea eax, [esp + 0x4dc]
push eax
lea ecx, [esp + 0x2e0]
push ecx
push esi
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x4dc]
push str.POINT__d__d_
push ecx
call fcn.0042d151
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
push str..outpic
lea ecx, [esp + 0x28]
mov dword [esp + 0x88], edx
push ecx
lea edx, [esp + 0x58]
push edx
mov dword [esp + 0x94], eax
call fcn.00406e40
add esp, 0x1c
mov byte [esp + 0x6e8], 0x17
mov eax, dword [eax]
lea edi, [eax - 0x10]
lea ebx, [esi - 0x10]
cmp edi, ebx
je 0x403553
cmp dword [ebx + 0xc], 0
jl 0x403541
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x403541
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x4034e4
cmp eax, dword [edi]
jne 0x4034e4
mov esi, edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x40351f
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x405983
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0042c352
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403538
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x403553
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [esp + 0x10]
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40357b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push esi
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4035b0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [esp + 0x88]
call fcn.00401340
push str..inpic
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x60]
push eax
call fcn.00406e40
add esp, 0xc
mov byte [esp + 0x6e8], 0x18
mov eax, dword [eax]
lea edi, [eax - 0x10]
lea ebx, [esi - 0x10]
cmp edi, ebx
je 0x4036a4
cmp dword [ebx + 0xc], 0
jl 0x403692
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x403692
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x403635
cmp eax, dword [edi]
jne 0x403635
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x403670
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x405983
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0042c352
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403689
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x4036a4
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [esp + 0x10]
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4036cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x80]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push esi
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
jmp 0x403710
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403710
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [esp + 0x84]
call fcn.00401340
push str..presspic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.00406e40
add esp, 0xc
mov byte [esp + 0x6e8], 0x19
mov eax, dword [eax]
lea edi, [eax - 0x10]
lea ebx, [esi - 0x10]
cmp edi, ebx
je 0x403800
cmp dword [ebx + 0xc], 0
jl 0x4037ee
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x4037ee
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x403791
cmp eax, dword [edi]
jne 0x403791
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4037cc
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x405983
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0042c352
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4037e5
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x403800
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [esp + 0x10]
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403828
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x7c]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push esi
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x403861
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [esp + 0x8c]
call fcn.00401340
mov edi, dword [esp + 0x14]
mov eax, dword [edi - 0xc]
lea edx, [eax + 5]
mov ebx, str._item
mov dword [esp + 0x34], eax
mov eax, dword [edi - 8]
mov dword [esp + 0x28], ebx
mov ecx, 1
sub ecx, dword [edi - 4]
sub ebx, edi
sub eax, edx
sar ebx, 1
or eax, ecx
mov dword [esp + 0x1c], edx
jge 0x4038c2
mov eax, edx
push eax
lea ecx, [esp + 0x18]
call fcn.00401530
mov edi, dword [esp + 0x14]
cmp ebx, dword [esp + 0x34]
ja 0x4038cf
lea ecx, [edi + ebx*2]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
push 0xa
push edx
lea ecx, [edi + eax*2]
push 0xa
push ecx
call fcn.0042c352
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
jl 0x405988
cmp eax, dword [edi - 8]
jg 0x405988
mov dword [edi - 0xc], eax
push str..pos
lea edx, [esp + 0x18]
mov word [edi + eax*2], 0
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.00406e40
add esp, 0xc
mov byte [esp + 0x6e8], 0x1a
mov eax, dword [eax]
lea edi, [eax - 0x10]
lea ebx, [esi - 0x10]
cmp edi, ebx
je 0x4039d5
cmp dword [ebx + 0xc], 0
jl 0x4039c3
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x4039c3
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x403966
cmp eax, dword [edi]
jne 0x403966
mov esi, edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4039a1
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x405983
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0042c352
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4039ba
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x4039d5
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [esp + 0x10]
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4039fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0
push 0
lea ecx, [esp + 0x4dc]
push str.POINT__d__d_
push ecx
call fcn.0042cf90
add esp, 0x10
lea edx, [esp + 0xd4]
push edx
push 0xff
lea eax, [esp + 0x2dc]
push eax
lea ecx, [esp + 0x4e0]
push ecx
push esi
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x2dc]
push str.POINT__d__d_
push ecx
call fcn.0042d151
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
push str..num
lea ecx, [esp + 0x28]
mov dword [esp + 0x9c], edx
push ecx
lea edx, [esp + 0x78]
push edx
mov dword [esp + 0xa8], eax
call fcn.00406e40
add esp, 0x1c
mov byte [esp + 0x6e8], 0x1b
mov eax, dword [eax]
lea edi, [eax - 0x10]
lea ebx, [esi - 0x10]
cmp edi, ebx
je 0x403b40
cmp dword [ebx + 0xc], 0
jl 0x403b2e
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x403b2e
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x403ad1
cmp eax, dword [edi]
jne 0x403ad1
mov esi, edi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x403b0c
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov esi, eax
test esi, esi
je 0x405983
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax + 2]
push ecx
add edi, 0x10
lea edx, [eax + eax + 2]
push edi
push edx
lea eax, [esi + 0x10]
push eax
call fcn.0042c352
add esp, 0x10
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x403b25
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
add esi, 0x10
mov dword [esp + 0x10], esi
jmp 0x403b40
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [esp + 0x10]
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403b68
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xd4]
push ecx
push 0
push esi
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 4
mov dword [esp + 0x90], eax
jle 0x403b96
mov eax, 4
mov dword [esp + 0x90], eax
test eax, eax
mov dword [esp + 0x28], 0
jle 0x403eaf
lea ebx, [esp + 0x94]
lea ecx, [ecx]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
lea edx, [esp + 0x20]
push str.btn_d_type_d_item_d
push edx
call fcn.00408210
add esp, 0x14
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
call fcn.00408230
push str..outpic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x64]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x1c
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403c30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea ecx, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x403c70
sub eax, ecx
sar eax, 1
push eax
lea esi, [ebx + 4]
push 0x45aa70
mov ecx, esi
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x70]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x1d
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x403ce0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esi]
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push esi
push edx
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea ecx, [eax + 2]
jmp 0x403d20
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x403d20
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, ebx
call fcn.00401340
push str..presspic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x1e
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x403d8d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebx]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
mov edx, dword [esp + 0x20]
push edx
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea ecx, [eax + 2]
jmp 0x403dd0
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x403dd0
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [ebx + 8]
call fcn.00401340
push str..link
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x1f
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x403e3e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push esi
push str.FRM_CENTER_RIGHT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403e77
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
lea ecx, [ebx + 0xc]
call fcn.00401340
mov eax, dword [esp + 0x28]
add eax, 1
add ebx, 0x10
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x28], eax
jl 0x403bb0
mov eax, dword [esp + 0x30]
lea edi, [eax*8]
sub edi, eax
mov edx, dword [edi*4 + 0x45b288]
lea edi, [edi*4 + 0x45b280]
push edx
mov eax, edi
call fcn.00408140
mov ebx, eax
lea eax, [ebx + 8]
push eax
lea eax, [esp + 0x78]
call fcn.00407f20
mov eax, dword [edi + 8]
test eax, eax
je 0x403eec
mov dword [eax], ebx
jmp 0x403eef
mov dword [edi + 4], ebx
mov eax, dword [esp + 0x2c]
add eax, 1
cmp eax, dword [esp + 0x18]
mov dword [edi + 8], ebx
mov dword [esp + 0x2c], eax
jl 0x403300
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [0x45b1d4]
mov dword [esp + 0x30], eax
jl 0x4031ac
push 7
push str.leftbtn
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x20
call fcn.00408230
mov byte [esp + 0x6e8], 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 0x403f7f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER_RIGHT
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [0x45b328], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b32c], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x21
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x404001
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER_RIGHT
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x404040
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b334
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x22
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4040ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b334]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_CENTER_RIGHT
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4040f0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b330
call fcn.00401340
push str..presspic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x23
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x40415e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b330]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_CENTER_RIGHT
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4041a0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b338
call fcn.00401340
push 8
push str.rightbtn
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x24
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x40421e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_CENTER_RIGHT
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [0x45b33c], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b340], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x25
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x4042a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_CENTER_RIGHT
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
jmp 0x4042e0
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4042e0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b348
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x26
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40434e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b348]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_CENTER_RIGHT
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x404390
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b344
call fcn.00401340
push str..presspic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x27
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x4043fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b344]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_CENTER_RIGHT
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x404440
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b34c
call fcn.00401340
push 9
push str.bottombkg
lea ecx, [esp + 0x18]
call fcn.00401340
push 4
push str..pic
lea ecx, [esp + 0x18]
call fcn.00407770
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x4044b3
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b17c
call fcn.00401340
push 7
push str.exitbtn
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x28
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x404531
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_BOTTOM
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [0x45b350], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b354], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x29
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x4045b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4045f0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b35c
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x2a
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40465e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b35c]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4046a0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b358
call fcn.00401340
push str..presspic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x2b
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x40470e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b358]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x404750
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b360
call fcn.00401340
push 9
push str.externbtn
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x2c
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x4047ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.FRM_BOTTOM
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [0x45b364], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b368], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x2d
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x404850
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
jmp 0x404890
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x404890
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b370
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x2e
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4048fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b370]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x404940
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b36c
call fcn.00401340
push str..presspic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x2f
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x4049ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b36c]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4049f0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b374
call fcn.00401340
push str..link
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x30
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x404a5e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.FRM_BOTTOM
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x404a93
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b37c
call fcn.00401340
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0x45b390
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x18]
push str.rect_d
push ecx
call fcn.00408210
add esp, 0xc
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x14]
call fcn.00408230
mov eax, dword [esp + 0x10]
push eax
lea esi, [esp + 0x48]
mov ebx, str.SUPPORT_PAGE
lea edi, [esp + 0xd8]
call fcn.00411220
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [esi - 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esi - 0xc], edx
mov dword [esi - 8], eax
push str..link
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x20]
push eax
mov dword [esi - 4], ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x31
call fcn.00408230
mov byte [esp + 0x6e8], 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 0x404b71
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.SUPPORT_PAGE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x45aa70
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x404bb0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, esi
call fcn.00401340
add dword [esp + 0x28], 1
add esi, 0x14
cmp esi, 0x45b3cc
mov dword [esp + 0x1c], esi
jl 0x404ac1
push 6
push str.error0
lea ecx, [esp + 0x18]
call fcn.00401340
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xd4]
push eax
push 0x200
push 0x45aa70
push 0
push ecx
push str.ERRORTIP
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404c30
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b424
call fcn.00401340
push 6
push str.error1
lea ecx, [esp + 0x18]
call fcn.00401340
lea edx, [esp + 0xd4]
push edx
push 0x200
xor eax, eax
push 0x45aa70
push eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
push eax
push str.ERRORTIP
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404c94
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b428
call fcn.00401340
push 6
push str.error2
lea ecx, [esp + 0x18]
call fcn.00401340
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.ERRORTIP
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
jmp 0x404d00
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404d00
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b42c
call fcn.00401340
push 6
push str.error3
lea ecx, [esp + 0x18]
call fcn.00401340
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xd4]
push eax
push 0x200
push 0x45aa70
push 0
push ecx
push str.ERRORTIP
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404d65
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b430
call fcn.00401340
push 6
push str.error4
lea ecx, [esp + 0x18]
call fcn.00401340
lea edx, [esp + 0xd4]
push edx
push 0x200
xor eax, eax
push 0x45aa70
push eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
push eax
push str.ERRORTIP
call esi
mov eax, 0x45aa70
lea ecx, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404dd0
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b434
call fcn.00401340
push 9
push str.msgboxbkg
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x32
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x404e54
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x404e90
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b3bc
call fcn.00401340
push 3
push 0x44a144
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x33
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x404f0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.MESSAGEBOX
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..pic
lea ecx, [esp + 0x18]
mov dword [0x45b3c0], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b3c4], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x34
call fcn.00408230
mov byte [esp + 0x6e8], 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 0x404f8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.MESSAGEBOX
call ebx
mov eax, 0x45aa70
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x404fc7
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b3c8
call fcn.00401340
push 5
push str.color
lea ecx, [esp + 0x18]
call fcn.00401340
mov edi, dword [esp + 0x10]
lea esi, [esp + 0xd4]
call fcn.00411180
push 4
push str.font
lea ecx, [esp + 0x18]
mov dword [0x45b3cc], eax
call fcn.00401340
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov eax, esi
push eax
push 0x200
push 0x45aa70
push 0
push ecx
push str.MESSAGEBOX
call ebx
mov eax, 0x45aa70
lea ecx, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x405050
sub eax, ecx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b3d0
call fcn.00401340
push 4
push str.size
lea ecx, [esp + 0x18]
call fcn.00401340
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xd4]
push edx
push 0
push eax
push str.MESSAGEBOX
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 4
push str.rect
lea ecx, [esp + 0x18]
mov dword [0x45b3e4], eax
call fcn.00401340
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x48]
mov ebx, str.MESSAGEBOX
lea edi, [esp + 0xd8]
call fcn.00411220
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov dword [0x45b3d4], edx
mov edx, dword [esp + 0x50]
push 6
mov dword [0x45b3dc], ecx
push str.yesbtn
lea ecx, [esp + 0x1c]
mov dword [0x45b3d8], eax
mov dword [0x45b3e0], edx
call fcn.00401340
push str..pos
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x35
call fcn.00408230
mov byte [esp + 0x6e8], 2
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x405150
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.MESSAGEBOX
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [0x45b3e8], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b3ec], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x36
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x4051d2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x405210
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b3f4
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x37
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40527e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b3f4]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4052c0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b3f0
call fcn.00401340
push str..presspic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x38
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x40532e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b3f0]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x405370
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b3f8
call fcn.00401340
push 5
push str.nobtn
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x39
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x4053ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.MESSAGEBOX
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [0x45b3fc], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b400], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x3a
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x405470
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
jmp 0x4054b0
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4054b0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b408
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x3b
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40551e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b408]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x405560
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b404
call fcn.00401340
push str..presspic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x3c
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x4055ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b404]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x405610
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b40c
call fcn.00401340
push 5
push str.okbtn
lea ecx, [esp + 0x1c]
call fcn.00401340
push str..pos
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x3d
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x40568e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
lea esi, [esp + 0x24]
mov ebx, str.MESSAGEBOX
lea edi, [esp + 0xd8]
call fcn.004112b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push str..outpic
lea ecx, [esp + 0x18]
mov dword [0x45b410], edx
push ecx
lea edx, [esp + 0x20]
push edx
mov dword [0x45b414], eax
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x3e
call fcn.00408230
mov ebx, 2
mov byte [esp + 0x6e8], bl
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 0x405710
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push eax
push edx
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
jmp 0x405750
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x405750
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b41c
call fcn.00401340
push str..inpic
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x3f
call fcn.00408230
mov byte [esp + 0x6e8], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4057be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b41c]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x405800
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b418
call fcn.00401340
push str..presspic
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406e40
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x6ec], 0x40
call fcn.00408230
mov byte [esp + 0x6e8], bl
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 0x40586e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x45b418]
xor eax, eax
mov ecx, 0x100
mov edi, 0x45aa70
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xd4]
push ecx
push 0x200
push 0x45aa70
push edx
push eax
push str.MESSAGEBOX
call esi
mov eax, 0x45aa70
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4058b0
sub eax, edx
sar eax, 1
push eax
push 0x45aa70
mov ecx, 0x45b420
call fcn.00401340
lea ecx, [esp + 0x10]
call fcn.004013e0
lea ecx, [esp + 0x14]
call fcn.004013e0
push 0x405b50
push 4
push 0x10
lea ecx, [esp + 0xa0]
push ecx
mov byte [esp + 0x6f8], 1
call fcn.0042ca58
lea esi, [esp + 0x74]
call fcn.00405a60
mov byte [esp + 0x6e8], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40592f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x6e8], 0xffffffff
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40595a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x6e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c8]
xor ecx, esp
call fcn.0042c343
mov esp, ebp
pop ebp
ret
jmp fcn.004014a0
push 0x80070057
call fcn.004016c0
int3