Function at 0x4249c0
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1f10
call fcn.004ce570
mov eax, dword [0x52382c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x525258
push 0x104
mov dword [ebp - 0x1f0c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
movzx ecx, word [0x4e4ddc]
movzx edx, byte [0x4e4dde]
movzx eax, word [0x4e4dd8]
mov word [0x5257f0], cx
movzx ecx, byte [0x4e4dda]
mov byte [0x5257f2], dl
movzx edx, word [0x4e4dd4]
mov word [0x525870], ax
movzx eax, byte [0x4e4dd6]
mov byte [0x525872], cl
movzx ecx, word [0x4e4dd0]
mov word [0x5258f0], dx
movzx edx, byte [0x4e4dd2]
mov byte [0x5258f2], al
movzx eax, word [0x4e4dcc]
mov word [0x525970], cx
movzx ecx, byte [0x4e4dce]
mov byte [0x525972], dl
movzx edx, word [0x4e4dc8]
mov word [0x5259f0], ax
movzx eax, byte [0x4e4dca]
mov byte [0x5259f2], cl
movzx ecx, word [0x4e4dc4]
mov word [0x525a70], dx
movzx edx, byte [0x4e4dc6]
mov byte [0x525a72], al
movzx eax, word [0x4e4dc0]
mov word [0x525af0], cx
movzx ecx, byte [0x4e4dc2]
mov byte [0x525af2], dl
movzx edx, word [0x4e4dbc]
mov word [0x525b70], ax
movzx eax, byte [0x4e4dbe]
mov byte [0x525b72], cl
mov ecx, dword [str.Reserve]
mov word [0x525bf0], dx
mov edx, dword [0x4e4db8]
mov byte [0x525bf2], al
mov eax, dword [str.SteamMod]
mov dword [0x525c70], ecx
mov ecx, dword [0x4e4dac]
mov dword [0x525c74], edx
movzx edx, byte [0x4e4db0]
mov dword [0x525608], eax
mov eax, dword [str.IPData.ini]
mov dword [0x52560c], ecx
mov ecx, dword [0x4e4da0]
mov byte [0x525610], dl
movzx edx, word [0x4e4da4]
mov dword [0x5257b0], eax
movzx eax, byte [0x4e4da6]
mov dword [0x5257b4], ecx
lea ecx, [ebp - 0x704]
push str.SoftwarehhcBEOnline
push ecx
mov dword [0x525600], 0x616774
mov dword [0x525380], 0x444f4d
mov word [0x5257b8], dx
mov byte [0x5257ba], al
mov dword [0x526a00], 0x627874
call fcn.004cce8a
push str.Language
lea edx, [ebp - 0x704]
push edx
lea eax, [ebp - 0x1f10]
push connect
push eax
call fcn.0043bad0
mov esi, 1
add esp, 0x18
xor ebx, ebx
cmp eax, esi
jne 0x424bb6
mov ecx, dword [ebp - 0x1f10]
mov dword [0x526714], ecx
jmp 0x424cc5
push 0x4f7018
mov dword [0x526714], ebx
call dword [sym.imp.steam_api.dll_SteamInternal_ContextInit]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esp, 4
call eax
mov edi, str.tchinese
mov ecx, eax
jmp 0x424be0
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x424c00
cmp dl, bl
je 0x424bfc
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x424c00
add ecx, 2
add edi, 2
cmp dl, bl
jne 0x424be0
xor ecx, ecx
jmp 0x424c05
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x424c14
mov dword [0x526714], ebx
jmp 0x424cc5
mov edi, str.schinese
mov ecx, eax
jmp 0x424c20
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x424c40
cmp dl, bl
je 0x424c3c
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x424c40
add ecx, 2
add edi, 2
cmp dl, bl
jne 0x424c20
xor ecx, ecx
jmp 0x424c45
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x424c51
mov dword [0x526714], esi
jmp 0x424cc5
mov edi, str.japanese
mov ecx, eax
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x424c78
cmp dl, bl
je 0x424c74
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x424c78
add ecx, 2
add edi, 2
cmp dl, bl
jne 0x424c58
xor ecx, ecx
jmp 0x424c7d
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x424c8d
mov dword [0x526714], 2
jmp 0x424cc5
mov edi, str.spanish
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x424cb2
cmp cl, bl
je 0x424cae
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x424cb2
add eax, 2
add edi, 2
cmp cl, bl
jne 0x424c92
xor eax, eax
jmp 0x424cb7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x424cc5
mov dword [0x526714], 3
push 0x10000
or eax, 0xffffffff
mov ecx, 0x1000
mov edi, 0x5ec120
push ebx
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [0x1a3ba10], eax
cmp eax, ebx
jne 0x424d03
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x526714]
shl ecx, 7
add ecx, 0x5257f0
push ecx
lea edx, [ebp - 0x1f08]
push str.Language_sMessage.txt
push edx
call fcn.004cce8a
lea eax, [ebp - 0x1f08]
push eax
call fcn.00431a60
add esp, 0x10
push ebx
lea ecx, [ebp - 0x1f08]
push ecx
call dword [sym.imp.KERNEL32.dll__lopen]
or edi, 0xffffffff
cmp eax, edi
jne 0x424d9d
lea edx, [ebp - 0x1f08]
push edx
lea eax, [ebp - 0x904]
push str.Error_Unable_to_Read____s
push eax
call fcn.004cce8a
mov edx, dword [ebp - 0x1f0c]
add esp, 0xc
push ebx
push ebx
push 0x526730
lea ecx, [ebp - 0x904]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxExA]
mov eax, dword [0x1a3ba10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1a3ba10]
push 0x10000
push ecx
push eax
call dword [sym.imp.KERNEL32.dll__lread]
mov ecx, eax
mov dword [0x6a30c8], ecx
cmp ecx, ebx
jne 0x424ddc
mov edx, dword [0x1a3ba10]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [ebp - 0x1f0c], ebx
cmp ecx, ebx
jbe 0x424e75
mov esi, dword [0x1a3ba10]
lea edi, [eax + 2]
mov ecx, 0x5ec124
lea ebx, [ebx]
mov dl, byte [esi + eax]
cmp dl, 0x5c
jne 0x424e20
cmp byte [esi + eax + 1], 0x6e
jne 0x424e20
mov byte [esi + eax], 0xd
mov edx, dword [0x1a3ba10]
mov byte [edx + eax + 1], 0xa
jmp 0x424e5b
cmp dl, 0xd
jne 0x424e3b
cmp byte [esi + eax + 1], 0xa
jne 0x424e3b
mov byte [esi + eax], bl
mov edx, dword [0x1a3ba10]
mov byte [edx + eax + 1], bl
jmp 0x424e4a
mov edx, dword [0x6a30c8]
dec edx
cmp eax, edx
jb 0x424e63
mov byte [esi + eax + 1], bl
mov edx, dword [ebp - 0x1f0c]
mov dword [ecx], edx
mov dword [ebp - 0x1f0c], edi
add ecx, 4
mov esi, dword [0x1a3ba10]
inc eax
inc edi
inc eax
inc edi
cmp eax, dword [0x6a30c8]
jb 0x424e00
mov esi, 1
or edi, 0xffffffff
push 0x80
push ebx
push 0x526968
mov dword [0x5269fc], ebx
mov dword [0x526888], ebx
mov dword [0x526b70], esi
mov dword [0x526bd8], ebx
mov dword [0x524d44], ebx
call fcn.004cce10
push 0x4e4d04
push 0x525730
mov dword [0x526834], ebx
mov dword [0x526bcc], ebx
mov dword [0x5267fc], ebx
mov byte [0x524d43], bl
mov byte [0x525605], bl
mov byte [0x524d42], bl
call fcn.004cce8a
push 0x4e4d04
push 0x526730
call fcn.004cce8a
fld dword [0x4e44e8]
fst dword [0x526708]
mov eax, 0x300
fld dword [0x4e4d00]
mov ecx, 0x400
fst dword [0x526a68]
mov dword [0x526848], eax
fstp dword [0x526b68]
mov dword [0x526808], eax
mov dword [0x5269e8], eax
fstp dword [0x5267f0]
mov eax, 0xb
fld dword [0x4e4cfc]
mov dword [0x525378], ecx
fstp dword [0x526710]
mov dword [0x526964], ecx
fld dword [0x4e4cf8]
mov dword [0x526b7c], ecx
fstp dword [0x525360]
mov word [0x526a10], ax
fld1
mov ecx, 5
xor edx, edx
fst dword [0x526844]
mov eax, 0xf800
fst dword [0x525374]
mov word [0x524d40], cx
fst dword [0x1a2e660]
mov word [0x526b88], dx
fstp dword [0x6a5d9c]
mov word [0x526914], ax
mov eax, 0x270f
mov ecx, 0x7e0
mov edx, 0x1f
mov dword [0x526828], ebx
mov dword [0x52683c], ebx
mov dword [0x526804], esi
mov dword [0x524e4c], 0x10
mov word [0x5256c4], cx
mov word [0x526a5c], dx
mov dword [0x52688c], esi
mov dword [0x526824], esi
mov dword [0x526810], ebx
mov dword [0x526bf0], esi
mov dword [0x526960], esi
mov dword [0x526a6c], ebx
mov dword [0x52680c], ebx
mov dword [0x526a18], ebx
mov dword [0x525694], ebx
mov dword [0x526a64], edi
mov dword [0x5ebf34], edi
mov dword [0x526900], edi
mov dword [0x52672c], eax
mov dword [0x526820], eax
mov dword [0x526b44], ebx
mov dword [0x52670c], ebx
mov dword [0x52691c], ebx
mov dword [0x525690], ebx
mov dword [0x526bc4], esi
mov dword [0x526b6c], esi
fld dword [0x4e4cf4]
xor eax, eax
fstp dword [0x5256e0]
mov dword [0x52568c], esi
fldz
mov dword [0x526728], ebx
fst dword [0x526a14]
mov dword [0x526800], ebx
fst dword [0x526840]
mov dword [0x526838], ebx
fstp dword [0x526720]
mov dword [0x526918], ebx
mov dword [0x5268d0], eax
mov dword [0x5268d4], eax
mov dword [0x5268d8], eax
mov dword [0x5268dc], eax
mov dword [0x5268e0], eax
mov dword [0x5268e4], eax
mov dword [0x5268e8], eax
mov dword [0x5268ec], eax
mov dword [0x5268f0], eax
mov dword [0x5268f4], eax
mov dword [0x5268f8], eax
mov dword [0x5268fc], eax
mov dword [0x5256a8], ebx
mov dword [0x525364], ebx
mov dword [0x5266f4], ebx
mov dword [0x526b80], ebx
mov dword [0x5269f0], ebx
mov dword [0x526a0c], ebx
mov dword [0x526a70], ebx
mov dword [0x6a42c4], ebx
mov dword [0x1a3b9fc], ebx
mov dword [0x63ddd4], ebx
mov dword [0x41ec310], esi
mov dword [0x63f09c], 0xc8
mov dword [0x5256bc], ebx
mov dword [0x526908], ebx
mov dword [0x5f3d58], 0xffff
mov dword [0x41ec318], eax
mov dword [0x41ec31c], eax
mov dword [0x41ec320], eax
mov dword [0x41ec324], eax
mov dword [0x41ec328], eax
mov byte [0x41ec32c], al
mov dword [0x1a3c120], eax
mov dword [0x1a3c124], eax
mov dword [0x1a3c128], eax
mov dword [0x1a3c12c], eax
mov dword [0x1a3c130], eax
mov byte [0x1a3c134], al
mov dword [0x1a3927c], ebx
call fcn.00451550
push 0x5257b0
push 0x525258
lea eax, [ebp - 0x604]
push 0x4e4cec
push eax
call fcn.004cce8a
lea ecx, [ebp - 0x404]
push str.WebSite
push ecx
call fcn.004cce8a
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0x34
lea edx, [ebp - 0x604]
push edx
push 0x100
lea eax, [ebp - 0x204]
push eax
push ebx
push str.Address
lea ecx, [ebp - 0x404]
push ecx
call edi
test eax, eax
je 0x4251d4
lea edx, [ebp - 0x204]
push edx
push 0x640e88
call fcn.004cce8a
add esp, 8
push 0x200
lea eax, [ebp - 0x204]
push ebx
push eax
call fcn.004cce10
add esp, 0xc
lea ecx, [ebp - 0x604]
push ecx
push 0x100
lea edx, [ebp - 0x204]
push edx
push ebx
push str.Helper
lea eax, [ebp - 0x404]
push eax
call edi
test eax, eax
je 0x425223
lea ecx, [ebp - 0x204]
push ecx
push 0x5e8e30
call fcn.004cce8a
add esp, 8
push 0x200
lea edx, [ebp - 0x204]
push ebx
push edx
call fcn.004cce10
add esp, 0xc
lea eax, [ebp - 0x604]
push eax
push 0x100
lea ecx, [ebp - 0x204]
push ecx
push ebx
push str.NewPatch
lea edx, [ebp - 0x404]
push edx
call edi
test eax, eax
je 0x425272
lea eax, [ebp - 0x204]
push eax
push 0x5f3140
call fcn.004cce8a
add esp, 8
lea ecx, [ebp - 0x604]
push ecx
push 0x100
lea edx, [ebp - 0x204]
push edx
push ebx
push str.NewPatchIp
lea eax, [ebp - 0x404]
push eax
call edi
test eax, eax
je 0x4252ac
lea ecx, [ebp - 0x204]
push ecx
push 0x644040
call fcn.004cce8a
add esp, 8
push 0x200
lea edx, [ebp - 0x204]
push ebx
push edx
call fcn.004cce10
add esp, 0xc
lea eax, [ebp - 0x604]
push eax
push 0x100
lea ecx, [ebp - 0x204]
push ecx
push ebx
push str.Forum
lea edx, [ebp - 0x404]
push edx
call edi
test eax, eax
je 0x4252fb
lea eax, [ebp - 0x204]
push eax
push 0x5e9160
call fcn.004cce8a
add esp, 8
lea ecx, [ebp - 0x604]
push ecx
push 0x100
lea edx, [ebp - 0x204]
push edx
push ebx
push str.ModWeb
lea eax, [ebp - 0x404]
push eax
call edi
test eax, eax
je 0x425335
lea ecx, [ebp - 0x204]
push ecx
push 0x1a81dc8
call fcn.004cce8a
add esp, 8
push 0x200
lea edx, [ebp - 0x204]
push ebx
push edx
call fcn.004cce10
add esp, 0xc
lea eax, [ebp - 0x604]
push eax
push 0x100
lea ecx, [ebp - 0x204]
push ecx
push ebx
push str.MemberWeb
lea edx, [ebp - 0x404]
push edx
call edi
test eax, eax
je 0x425384
lea eax, [ebp - 0x204]
push eax
push 0x5f4848
call fcn.004cce8a
add esp, 8
push 0x200
lea ecx, [ebp - 0x204]
push ebx
push ecx
call fcn.004cce10
lea edx, [ebp - 0x404]
push str.WorldGroup
push edx
call fcn.004cce8a
add esp, 0x14
lea eax, [ebp - 0x604]
push eax
push 0x40
lea ecx, [ebp - 0x204]
push ecx
push ebx
push str.GroupAmount
lea edx, [ebp - 0x404]
push edx
call edi
test eax, eax
je 0x4253e3
lea eax, [ebp - 0x204]
push eax
call fcn.004ce55a
add esp, 4
mov dword [0x1a3c820], eax
jmp 0x4253e9
mov dword [0x1a3c820], ebx
push 0x500
push ebx
push 0x5e9f80
call fcn.004cce10
add esp, 0xc
xor esi, esi
cmp dword [0x1a3c820], ebx
jbe 0x425486
mov dword [ebp - 0x1f0c], 0x5e9f80
push 0x200
lea ecx, [ebp - 0x204]
push ebx
push ecx
call fcn.004cce10
inc esi
push esi
lea edx, [ebp - 0xb04]
push str.GroupName_d
push edx
call fcn.004cce8a
add esp, 0x18
lea eax, [ebp - 0x604]
push eax
push 0x40
lea ecx, [ebp - 0x204]
push ecx
push ebx
lea edx, [ebp - 0xb04]
push edx
lea eax, [ebp - 0x404]
push eax
call edi
test eax, eax
je 0x425477
mov edx, dword [ebp - 0x1f0c]
lea ecx, [ebp - 0x204]
push ecx
push edx
call fcn.004cce8a
add esp, 8
add dword [ebp - 0x1f0c], 0x40
cmp esi, dword [0x1a3c820]
jb 0x425414
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.004ccd49
mov esp, ebp
pop ebp
ret