Function at 0x410290
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x5178b8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov eax, dword [0x549950]
xor eax, esp
push eax
lea eax, [esp + 0x54]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x64]
mov eax, dword [ebx + 0x310]
test eax, eax
je 0x4102cf
cmp dword [eax + 4], 0
jne 0x41063d
call fcn.004c01dc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4102e9
push 0x80004005
call fcn.00401ff0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x5c], 0
call fcn.004c01dc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41031b
push 0x80004005
call fcn.00401ff0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
lea ecx, [ebx + 0x2bc]
push str.fxxz_gameguide
push ecx
mov byte [esp + 0x64], 1
call fcn.004070c0
add esp, 8
lea ecx, [esp + 0x2c]
test al, al
je 0x410355
lea edx, [ebx + 0x94]
push edx
jmp 0x41035c
lea eax, [ebx + 0xc0]
push eax
call fcn.00403060
mov edi, dword [esp + 0x2c]
push ecx
add edi, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
push edi
mov dword [esp + 0x38], edi
call fcn.00403680
lea ecx, [esp + 0x3c]
add esp, 4
add eax, 0x10
push ecx
mov dword [esi], eax
call fcn.00407a70
add esp, 8
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 2
call fcn.00403060
mov byte [esp + 0x5c], 1
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4103c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x1c]
cmp dword [esi - 0xc], 0
jne 0x41042d
mov ecx, dword [ebx + 0x20]
push 0
push 0x493e0
push 0x3e8
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [esp + 0x5c], 0
lea edx, [edi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x410400
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea eax, [esi - 0x10]
mov dword [esp + 0x5c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4113aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4113aa
call fcn.004c01dc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410447
push 0x80004005
call fcn.00401ff0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebp, [eax + 0x10]
mov dword [esp + 0x24], ebp
mov byte [esp + 0x5c], 3
mov eax, dword [ebp - 8]
mov ecx, 1
sub ecx, dword [ebp - 4]
sub eax, 0x64
or eax, ecx
jge 0x41047d
push 0x64
lea ecx, [esp + 0x28]
call fcn.00403630
mov ebp, dword [esp + 0x24]
push esi
push 0x64
push ebp
push 0x522764
push 0x522738
push 0x522740
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp - 8]
push eax
push ebp
call fcn.004df755
add esp, 8
test eax, eax
jl 0x410f4d
cmp eax, dword [ebp - 8]
jg 0x410f4d
xor ecx, ecx
mov dword [ebp - 0xc], eax
mov word [ebp + eax*2], cx
call fcn.004c01dc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4104d8
push 0x80004005
call fcn.00401ff0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x28], esi
mov bl, 4
mov byte [esp + 0x5c], bl
mov eax, dword [esp + 0x64]
add eax, 0x264
push str.gameyxdown.dat
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00402970
add esp, 0xc
mov byte [esp + 0x5c], 5
mov edi, dword [eax]
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, 0x32
or eax, ecx
jge 0x410532
push 0x32
lea ecx, [esp + 0x2c]
call fcn.00403630
mov esi, dword [esp + 0x28]
push edi
push 0x32
push esi
push 0x522874
push str.Number
push 0x522740
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [esp + 0x5c], bl
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41056f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi - 8]
push eax
push esi
call fcn.004df755
xor ebx, ebx
add esp, 8
cmp eax, ebx
jl 0x410f4d
cmp eax, dword [esi - 8]
jg 0x410f4d
mov dword [esi - 0xc], eax
xor ecx, ecx
lea edx, [esp + 0x28]
mov word [esi + eax*2], cx
push edx
lea eax, [esp + 0x28]
push eax
call fcn.00402b40
add esp, 8
test al, al
je 0x410644
lea eax, [esi - 0x10]
mov byte [esp + 0x5c], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4105d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x5c], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4105f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
mov byte [esp + 0x5c], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410615
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x5c], 0xffffffff
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 0x41063d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x4113af
mov dword [esp + 0x40], vtable.CArray_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____.0
mov dword [esp + 0x44], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
mov byte [esp + 0x5c], 6
mov edi, dword [esp + 0x64]
mov eax, dword [edi + 0x2f8]
add edi, 0x2f8
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, 0x100
or eax, ecx
mov dword [esp + 0x30], ebx
jge 0x410698
push 0x100
mov ecx, edi
call fcn.00403630
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi]
push ecx
push 0x100
push eax
push 0x522764
push str.urlv1
push 0x522740
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [edi]
mov ecx, dword [eax - 8]
cmp eax, ebx
jne 0x4106c7
xor eax, eax
jmp 0x4106d9
push ecx
push eax
call fcn.004df755
add esp, 8
cmp eax, ebx
jl 0x410f4d
mov ecx, dword [edi]
cmp eax, dword [ecx - 8]
jg 0x410f4d
mov ebx, dword [esp + 0x44]
mov dword [ecx - 0xc], eax
mov edx, dword [edi]
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jl 0x4107f5
push 0x522768
push eax
call fcn.004dfd90
add esp, 8
test eax, eax
je 0x4107f5
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x4107f5
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jge 0x41072f
or esi, 0xffffffff
jmp 0x41074c
push 0x522768
push eax
call fcn.004dfd90
add esp, 8
test eax, eax
jne 0x410746
or esi, 0xffffffff
jmp 0x41074c
sub eax, dword [edi]
sar eax, 1
mov esi, eax
push esi
lea edx, [esp + 0x24]
push edx
mov ecx, edi
call fcn.00402800
inc esi
push esi
lea eax, [esp + 0x38]
push eax
mov ecx, edi
mov byte [esp + 0x64], 7
call fcn.00402750
push eax
mov ecx, edi
mov byte [esp + 0x60], 8
call fcn.00403060
mov byte [esp + 0x5c], 7
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 0x41079e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, dword [esp + 0x48]
test ebp, ebp
jl 0x410dbf
mov eax, ebp
inc eax
lea esi, [esp + 0x40]
call fcn.00403bc0
mov ebx, dword [esp + 0x44]
lea edx, [esp + 0x20]
lea ecx, [ebx + ebp*4]
push edx
call fcn.00403060
mov byte [esp + 0x5c], 6
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4106f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4106f3
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x41080b
push edi
lea eax, [esp + 0x44]
call fcn.004039e0
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
test esi, esi
jle 0x41083a
call fcn.004e146d
cdq
idiv esi
mov dword [esp + 0x30], edx
test edx, edx
jl 0x410dbf
cmp edx, esi
jge 0x410dbf
lea eax, [ebx + edx*4]
push eax
mov ecx, edi
call fcn.00403060
mov edx, dword [edi]
cmp dword [edx - 0xc], 0
jne 0x410876
lea edi, [esp + 0x40]
call fcn.00403a10
lea ecx, [esp + 0x28]
call fcn.00403040
lea ecx, [esp + 0x24]
call fcn.00403040
lea ecx, [esp + 0x2c]
call fcn.00403040
lea ecx, [esp + 0x1c]
call fcn.00403040
xor eax, eax
jmp 0x4113af
lea ecx, [esp + 0x20]
call fcn.00402450
mov byte [esp + 0x5c], 9
mov eax, dword [esp + 0x1c]
push eax
push 0x64
push 0x64
lea ecx, [esp + 0x2c]
call fcn.004032f0
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x522764
push str.trayicov1
push 0x522740
call ebp
mov esi, dword [esp + 0x20]
mov eax, dword [esi - 8]
push eax
push esi
call fcn.004df755
add esp, 8
test eax, eax
jl 0x410f4d
cmp eax, dword [esi - 8]
jg 0x410f4d
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
mov esi, dword [esi - 0xc]
test esi, esi
je 0x4109ba
push 0x2f
lea ecx, [esp + 0x24]
call fcn.004026c0
cmp eax, 0xffffffff
je 0x4109ba
inc eax
push eax
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x28]
call fcn.00402750
push eax
mov byte [esp + 0x60], 0xa
mov edi, dword [esp + 0x68]
lea eax, [edi + 0x264]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004028b0
add esp, 0xc
mov bl, 0xc
lea ecx, [esp + 0x34]
mov byte [esp + 0x5c], bl
call fcn.00403040
push 1
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00403020
push ecx
mov byte [esp + 0x68], 0xd
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00403020
mov byte [esp + 0x68], bl
call fcn.00407ea0
add esp, 8
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00403020
call fcn.004a1391
add esp, 4
test eax, eax
je 0x4109a6
mov eax, dword [esp + 0x18]
mov ecx, dword [0x550ac4]
push 0x10
push 0
push 0
push 1
push eax
push ecx
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [edi + 0x2fc], eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x5c], 9
call fcn.00403040
mov ebx, dword [esp + 0x44]
jmp 0x4109be
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
push edx
push 0x64
add edi, 0x300
push 0x64
mov ecx, edi
call fcn.004032f0
push eax
push 0x522764
push str.traytipv1
push 0x522740
call ebp
push 0xffffffffffffffff
mov ecx, edi
call fcn.00402d10
test ebx, ebx
je 0x410a35
mov ebp, dword [esp + 0x48]
xor esi, esi
test ebp, ebp
jle 0x410a24
lea ecx, [ecx]
mov eax, dword [ebx + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410a1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebp
jl 0x410a00
push ebx
call fcn.004c0153
add esp, 4
mov dword [esp + 0x44], 0
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], eax
mov bl, 0xe
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
mov ebp, dword [esp + 0x48]
jl 0x410b41
push 0x522768
push eax
call fcn.004dfd90
add esp, 8
test eax, eax
je 0x410b41
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x410b41
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jge 0x410a81
or esi, 0xffffffff
jmp 0x410a9e
push 0x522768
push eax
call fcn.004dfd90
add esp, 8
test eax, eax
jne 0x410a98
or esi, 0xffffffff
jmp 0x410a9e
sub eax, dword [edi]
sar eax, 1
mov esi, eax
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.00402800
inc esi
push esi
lea edx, [esp + 0x38]
push edx
mov ecx, edi
mov byte [esp + 0x64], bl
call fcn.00402750
push eax
mov ecx, edi
mov byte [esp + 0x60], 0xf
call fcn.00403060
mov byte [esp + 0x5c], bl
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 0x410aee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebp, ebp
jl 0x410dbf
lea eax, [ebp + 1]
lea esi, [esp + 0x40]
call fcn.00403bc0
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x18]
lea ecx, [ecx + ebp*4]
push edx
call fcn.00403060
mov byte [esp + 0x5c], 9
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 0x410a41
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x410a41
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x410b57
push edi
lea eax, [esp + 0x44]
call fcn.004039e0
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
cmp eax, ebp
jl 0x410b6a
test ebp, ebp
jle 0x410b81
mov edx, dword [esp + 0x44]
push edx
jmp 0x410b7a
test eax, eax
jl 0x410dbf
mov ecx, dword [esp + 0x44]
lea eax, [ecx + eax*4]
push eax
mov ecx, edi
call fcn.00402540
mov edx, dword [edi]
cmp dword [edx - 0xc], 0
jne 0x410b95
push 0x52c910
mov ecx, edi
call fcn.00402560
mov ebx, dword [esp + 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ebx
push 0
push str.delayv1
push 0x522740
call esi
push ebx
push 0
push str.lnkv1
push 0x522740
mov dword [esp + 0x4c], eax
call esi
push ebx
push 0
push str.blnknamev1
push 0x522740
mov edi, eax
call esi
mov dword [esp + 0x38], eax
cmp edi, 1
jne 0x4112d9
mov edi, dword [esp + 0x64]
mov eax, dword [edi + 0x304]
add edi, 0x304
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, 0x64
or eax, ecx
jge 0x410c0d
push 0x64
mov ecx, edi
call fcn.00403630
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi]
push ecx
push 0x64
push eax
push 0x522764
push str.namev1
push 0x522740
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [edi]
mov ecx, dword [eax - 8]
xor ebp, ebp
cmp eax, ebp
jne 0x410c3b
xor eax, eax
jmp 0x410c4d
push ecx
push eax
call fcn.004df755
add esp, 8
cmp eax, ebp
jl 0x410f4d
mov ecx, dword [edi]
cmp eax, dword [ecx - 8]
jg 0x410f4d
mov ebx, dword [esp + 0x44]
mov dword [ecx - 0xc], eax
mov edx, dword [edi]
xor ecx, ecx
mov word [edx + eax*2], cx
cmp ebx, ebp
je 0x410ca6
xor esi, esi
cmp dword [esp + 0x48], ebp
jle 0x410c99
mov eax, dword [ebx + esi*4]
sub eax, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410c92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, dword [esp + 0x48]
jl 0x410c73
push ebx
call fcn.004c0153
add esp, 4
mov dword [esp + 0x44], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebp
mov bl, 0x11
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
mov ebp, dword [esp + 0x48]
jl 0x410db1
push 0x522768
push eax
call fcn.004dfd90
add esp, 8
test eax, eax
je 0x410db1
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x410db1
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jge 0x410cf4
or esi, 0xffffffff
jmp 0x410d11
push 0x522768
push eax
call fcn.004dfd90
add esp, 8
test eax, eax
jne 0x410d0b
or esi, 0xffffffff
jmp 0x410d11
sub eax, dword [edi]
sar eax, 1
mov esi, eax
push esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.00402800
inc esi
push esi
lea edx, [esp + 0x38]
push edx
mov ecx, edi
mov byte [esp + 0x64], 0x10
call fcn.00402750
push eax
mov ecx, edi
mov byte [esp + 0x60], bl
call fcn.00403060
mov byte [esp + 0x5c], 0x10
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 0x410d62
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebp, ebp
jl 0x410dbf
lea eax, [ebp + 1]
lea esi, [esp + 0x40]
call fcn.00403bc0
mov esi, dword [esp + 0x44]
lea edx, [esp + 0x18]
lea ecx, [esi + ebp*4]
push edx
call fcn.00403060
mov byte [esp + 0x5c], 9
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 0x410cb4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x410cb4
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x410de1
mov ebx, ebp
test ebp, ebp
jge 0x410dc4
call fcn.004c0ab7
lea eax, [ebp + 1]
lea esi, [esp + 0x40]
call fcn.00403bc0
mov esi, dword [esp + 0x44]
lea ecx, [esi + ebx*4]
push edi
call fcn.00403060
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
cmp eax, ebp
jl 0x410df0
test ebp, ebp
jle 0x410dff
push esi
jmp 0x410df8
test eax, eax
jl 0x410dbf
lea eax, [esi + eax*4]
push eax
mov ecx, edi
call fcn.00403060
mov edx, dword [edi]
cmp dword [edx - 0xc], 0
je 0x4112d9
cmp dword [esp + 0x38], 1
jne 0x410f33
call fcn.004c01dc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410e30
push 0x80004005
call fcn.00401ff0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x18], esi
mov bl, 0x12
mov byte [esp + 0x5c], bl
mov eax, dword [esp + 0x64]
push str.gameyxdown.dat
add eax, 0x264
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.00402970
add esp, 0xc
mov byte [esp + 0x5c], 0x13
mov ebp, dword [eax]
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, 0x32
or eax, ecx
jge 0x410e8a
push 0x32
lea ecx, [esp + 0x1c]
call fcn.00403630
mov esi, dword [esp + 0x18]
push ebp
push 0x32
push esi
push 0x522764
push str.NumberName
push 0x522740
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [esp + 0x5c], bl
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 0x410ec7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi - 8]
push eax
push esi
call fcn.004df755
add esp, 8
test eax, eax
jl 0x410f4d
cmp eax, dword [esi - 8]
jg 0x410f4d
lea edx, [esp + 0x18]
xor ecx, ecx
push edi
mov dword [esi - 0xc], eax
push edx
mov word [esi + eax*2], cx
call fcn.00402b40
add esp, 8
test al, al
je 0x410f12
mov ecx, edi
call fcn.00402ca0
lea ecx, [esp + 0x18]
mov byte [esp + 0x5c], 9
call fcn.00403040
jmp 0x4112d9
lea eax, [esi - 0x10]
mov byte [esp + 0x5c], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.004c01dc
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x410f57
push 0x80004005
call fcn.00401ff0
push 0x80070057
call fcn.00401ff0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x18], edi
mov byte [esp + 0x5c], 0x14
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, 0x64
or eax, ecx
jge 0x410f8d
push 0x64
lea ecx, [esp + 0x1c]
call fcn.00403630
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push ecx
push 0x64
push edi
push 0x522764
push str.icov1
push 0x522740
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [edi - 8]
push eax
push edi
call fcn.004df755
add esp, 8
test eax, eax
jl 0x410f4d
cmp eax, dword [edi - 8]
jg 0x410f4d
mov ebx, dword [esp + 0x44]
xor edx, edx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], dx
test ebx, ebx
je 0x411015
mov ebp, dword [esp + 0x48]
xor esi, esi
test ebp, ebp
jle 0x411004
jmp 0x410fe0
mov eax, dword [ebx + esi*4]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410fff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebp
jl 0x410fe0
push ebx
call fcn.004c0153
add esp, 4
mov dword [esp + 0x44], 0
mov esi, dword [esp + 0x44]
xor ebp, ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebp
mov bl, 0x15
jmp 0x411038
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
cmp dword [edi - 0xc], 0
jl 0x41113e
push 0x522768
push edi
call fcn.004dfd90
add esp, 8
test eax, eax
je 0x411138
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
je 0x411138
cmp dword [edi - 0xc], 0
jge 0x411070
or esi, 0xffffffff
jmp 0x41108d
push 0x522768
push edi
call fcn.004dfd90
add esp, 8
test eax, eax
jne 0x411087
or esi, 0xffffffff
jmp 0x41108d
sub eax, edi
sar eax, 1
mov esi, eax
push esi
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x20]
call fcn.00402800
inc esi
push esi
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], bl
call fcn.00402750
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x60], 0x16
call fcn.00403060
mov byte [esp + 0x5c], bl
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 0x4110e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, ebp
test ebp, ebp
jl 0x410dbf
lea eax, [ebp + 1]
lea esi, [esp + 0x40]
call fcn.00403bc0
mov esi, dword [esp + 0x44]
lea edx, [esp + 0x34]
lea ecx, [esi + edi*4]
push edx
call fcn.00403060
mov byte [esp + 0x5c], 0x14
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 0x411030
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x411030
cmp dword [edi - 0xc], 0
je 0x41116a
mov ebx, ebp
test ebp, ebp
jge 0x411149
call fcn.004c0ab7
lea eax, [ebp + 1]
lea esi, [esp + 0x40]
call fcn.00403bc0
mov esi, dword [esp + 0x44]
lea edx, [esp + 0x18]
lea ecx, [esi + ebx*4]
push edx
call fcn.00403060
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
cmp eax, ebp
jl 0x411179
test ebp, ebp
jle 0x411192
push esi
jmp 0x411185
test eax, eax
jl 0x410dbf
lea eax, [esi + eax*4]
push eax
lea ecx, [esp + 0x1c]
call fcn.00403060
mov edi, dword [esp + 0x18]
cmp dword [edi - 0xc], 0
je 0x4112b8
push 0x2f
push edi
call fcn.004dfd64
add esp, 8
test eax, eax
je 0x4112b8
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
je 0x4112b8
inc eax
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.00402750
mov bl, 0x17
mov byte [esp + 0x5c], bl
mov esi, dword [esp + 0x64]
push eax
lea eax, [esi + 0x264]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.004028b0
add esp, 0xc
add esi, 0x308
push eax
mov ecx, esi
mov byte [esp + 0x60], 0x18
call fcn.00403060
mov byte [esp + 0x5c], bl
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 0x411222
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5c], 0x14
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 0x411247
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi]
push 1
push ecx
sub eax, 0x10
mov dword [esp + 0x40], esp
mov ebp, esp
push eax
call fcn.00403680
add eax, 0x10
mov dword [ebp], eax
mov byte [esp + 0x68], 0x19
lea eax, [edi - 0x10]
mov dword [esp + 0x40], esp
mov ebp, esp
push eax
call fcn.00403680
add eax, 0x10
mov dword [ebp], eax
add esp, 4
mov byte [esp + 0x68], 0x14
call fcn.00407ea0
mov eax, dword [esi]
add esp, 8
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov ebp, esp
push eax
call fcn.00403680
add eax, 0x10
add esp, 4
mov dword [ebp], eax
call fcn.004a1391
add esp, 4
test eax, eax
jne 0x4112b8
mov ecx, esi
call fcn.00402ca0
lea eax, [edi - 0x10]
mov byte [esp + 0x5c], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4112d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x64]
test eax, eax
jne 0x4112ee
mov ecx, esi
call fcn.004101a0
jmp 0x411306
mov ecx, dword [esi + 0x20]
imul eax, eax, 0x3e8
push 0
push eax
push 0x3e9
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
push str.gameyxdown.dat
lea edi, [esi + 0x264]
lea edx, [esp + 0x68]
push edi
push edx
call fcn.00402970
mov eax, dword [eax]
mov ecx, dword [esi + 0x304]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
add esp, 0xc
push eax
push ecx
push str.NumberName
push 0x522740
call esi
lea ecx, [esp + 0x64]
call fcn.00403040
push str.gameyxdown.dat
lea edx, [esp + 0x68]
push edi
push edx
call fcn.00402970
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
add esp, 0xc
push eax
push ecx
push str.Number
push 0x522740
call esi
lea ecx, [esp + 0x64]
call fcn.00403040
lea ecx, [esp + 0x20]
call fcn.00403040
lea edi, [esp + 0x40]
call fcn.00403a10
lea ecx, [esp + 0x28]
call fcn.00403040
lea ecx, [esp + 0x24]
call fcn.00403040
lea ecx, [esp + 0x2c]
call fcn.00403040
lea ecx, [esp + 0x1c]
call fcn.00403040
mov eax, 1
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 4