Function at 0x4108b0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x43ba48
mov eax, dword fs:[0]
push eax
mov eax, 0x128c
mov dword fs:[0], esp
call fcn.0042bb10
mov eax, dword [0x44b754]
xor eax, esp
push ebx
add ecx, 0x30
push esi
mov dword [esp + 0x1290], eax
mov dword [esp + 0x10], ecx
call fcn.00410760
push 0x104
lea eax, [esp + 0x190]
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
push ebx
push 3
push ebx
push 1
push connect
lea ecx, [esp + 0x1a4]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x410929
xor al, al
jmp 0x4111b6
push ebp
push edi
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 2
push ebx
push 0xfffffffffffffff4
push esi
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
lea edx, [esp + 0x18]
push edx
push 0xc
lea eax, [esp + 0x190]
push eax
push esi
call ebp
lea ecx, [esp + 0x184]
push str.MLREGIONINFO
push ecx
mov byte [esp + 0x198], bl
call fcn.0042c169
add esp, 8
test eax, eax
jne 0x4111b2
push 2
push ebx
push 0xfffffffffffffff0
push esi
mov dword [esp + 0x20], ebx
call edi
push ebx
lea edx, [esp + 0x18]
push edx
push 4
lea eax, [esp + 0x1c]
push eax
push esi
call ebp
mov edx, dword [esp + 0x10]
push 2
push ebx
mov ecx, 0xfffffff0
sub ecx, edx
push ecx
push esi
call edi
mov eax, dword [esp + 0x10]
push ebx
lea edx, [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x2a4]
push ecx
push esi
call ebp
mov edx, dword [esp + 0x10]
push esi
mov byte [esp + edx + 0x29c], bl
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x298]
push eax
lea ecx, [esp + 0x90]
call fcn.00416b50
push 0xd
lea ecx, [esp + 0x90]
mov dword [esp + 0x12a8], ebx
call fcn.00416a20
push 0xa
lea ecx, [esp + 0x90]
call fcn.00416a20
push 9
lea ecx, [esp + 0x90]
call fcn.00416a20
push 0x20
lea ecx, [esp + 0x90]
call fcn.00416a20
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x41119b
push str.version
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
je 0x410a64
push str.version
push esi
push str.CDlgSelRegion::GetRegionInfo_:_invalid_token___s______s__is_expected.
push 0x44c660
call fcn.00401330
add esp, 0x10
jmp 0x41119b
lea ecx, [esp + 0x8c]
call fcn.00416ac0
cmp eax, ebx
je 0x411189
push eax
push str.the_version_of_region_info_is___s_.
push 0x44c660
call fcn.00401330
add esp, 0xc
mov edi, str.region
lea ecx, [esp + 0x8c]
call fcn.0040ec40
test al, al
je 0x41104c
mov ebp, 0xf
lea esp, [esp]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
lea ecx, [esp + 0x8c]
mov byte [esp + 0x12a4], 2
call fcn.00416b00
mov esi, eax
cmp esi, ebx
je 0x411169
mov ecx, esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x410b10
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x24]
call fcn.00403210
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x12a8], 3
call fcn.0040f5d0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0x12b0], 4
call fcn.00403120
mov eax, dword [esp + 0x6c]
mov edi, 0x10
cmp eax, edi
jb 0x410b6f
mov edx, dword [esp + 0x58]
push edx
call fcn.0042bb52
add esp, 4
cmp dword [esp + 0x34], edi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
mov byte [esp + 0x12a4], 2
jb 0x410b96
mov eax, dword [esp + 0x20]
push eax
call fcn.0042bb52
add esp, 4
lea ecx, [esp + 0x8c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x41117b
push str.BEGIN
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x41106a
mov edi, edi
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411162
push str.SERVER
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x410ff9
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x108], ebx
mov byte [esp + 0xf8], bl
mov dword [esp + 0x128], ebp
mov dword [esp + 0x124], ebx
mov byte [esp + 0x114], bl
mov dword [esp + 0x144], ebp
mov dword [esp + 0x140], ebx
mov byte [esp + 0x130], bl
mov dword [esp + 0x160], ebp
mov dword [esp + 0x15c], ebx
mov byte [esp + 0x14c], bl
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x178], ebx
mov byte [esp + 0x168], bl
lea ecx, [esp + 0x8c]
mov byte [esp + 0x12a4], 5
mov dword [esp + 0x180], 0xffffffff
call fcn.00416b00
mov esi, eax
cmp esi, ebx
je 0x41113a
mov ecx, esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x410cb4
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x40]
call fcn.00403210
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x12a8], 6
call fcn.0040f5d0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xe4]
mov byte [esp + 0x12b0], 7
call fcn.00403120
cmp dword [esp + 0x88], edi
jb 0x410d0f
mov edx, dword [esp + 0x74]
push edx
call fcn.0042bb52
add esp, 4
cmp dword [esp + 0x50], edi
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
mov byte [esp + 0x12a4], 5
jb 0x410d3c
mov eax, dword [esp + 0x3c]
push eax
call fcn.0042bb52
add esp, 4
lea ecx, [esp + 0x8c]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411104
push str.BEGIN
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x411093
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411104
push str.CHANNELING_TYPE
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x41109a
lea ecx, [esp + 0x8c]
call fcn.00416b00
cmp eax, ebx
je 0x411133
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x410dc0
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0xfc]
call fcn.00403210
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411104
push str.HOMEPAGE_URL
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x4110a1
lea ecx, [esp + 0x8c]
call fcn.00416b00
cmp eax, ebx
je 0x41112c
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x410e20
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x118]
call fcn.00403210
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411104
push str.JOIN_URL
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x4110a8
lea ecx, [esp + 0x8c]
call fcn.00416b00
cmp eax, ebx
je 0x411125
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x410e80
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x134]
call fcn.00403210
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411104
push str.NOTICE_URL
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x4110af
lea ecx, [esp + 0x8c]
call fcn.00416b00
cmp eax, ebx
je 0x41111e
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x410ee0
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x150]
call fcn.00403210
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411104
push str.PATCH_URL
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x4110b6
lea ecx, [esp + 0x8c]
call fcn.00416b00
cmp eax, ebx
je 0x4110f2
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x410f40
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x16c]
call fcn.00403210
lea ecx, [esp + 0x8c]
call fcn.00416ac0
mov esi, eax
cmp esi, ebx
je 0x411104
push 0x43eeb4
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x4110bd
cmp byte [0x44e6c0], bl
je 0x410fac
mov eax, 0x44e6c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x410f93
mov ecx, dword [esp + 0x108]
sub eax, edx
push eax
push 0x44e6c0
push ecx
jmp 0x410fbb
mov edx, dword [esp + 0x108]
push 8
push str.tiancity
push edx
lea ecx, [esp + 0x100]
push ebx
call fcn.00406620
test eax, eax
jne 0x410fe0
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0xcc]
call fcn.00410100
lea ecx, [esp + 0xd8]
mov byte [esp + 0x12a4], 2
call fcn.0040ee30
jmp 0x410bd0
push 0x43eeb4
push esi
call fcn.0042c1fd
add esp, 8
test eax, eax
jne 0x411141
lea ecx, [esp + 0xac]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004107b0
lea ecx, [esp + 0xac]
mov byte [esp + 0x12a4], bl
call fcn.004100d0
mov edi, str.region
lea ecx, [esp + 0x8c]
call fcn.0040ec40
test al, al
jne 0x410ab0
lea ecx, [esp + 0x8c]
mov dword [esp + 0x12a4], 0xffffffff
call fcn.004169b0
mov al, 1
jmp 0x4111b4
push str.BEGIN
push esi
push str.CDlgSelRegion::GetRegionInfo_:_invalid_token___s______s__is_expected.
push 0x44c660
call fcn.00401330
add esp, 0x10
lea ecx, [esp + 0xac]
call fcn.004100d0
jmp 0x41119b
push str.BEGIN
jmp 0x4110c2
push str.CHANNELING_TYPE
jmp 0x4110c2
push str.HOMEPAGE_URL
jmp 0x4110c2
push str.JOIN_URL
jmp 0x4110c2
push str.NOTICE_URL
jmp 0x4110c2
push str.PATCH_URL
jmp 0x4110c2
push 0x43eeb4
push esi
push str.CDlgSelRegion::GetRegionInfo_:_invalid_token___s______s__is_expected.
push 0x44c660
call fcn.00401330
add esp, 0x10
lea ecx, [esp + 0xd8]
call fcn.0040ee30
lea ecx, [esp + 0xac]
call fcn.004100d0
jmp 0x41119b
push str.CDlgSelRegion::GetRegionInfo_:_invalid_patch_url_name.
push 0x44c660
call fcn.00401330
add esp, 8
lea ecx, [esp + 0xd8]
call fcn.0040ee30
lea ecx, [esp + 0xac]
call fcn.004100d0
jmp 0x41119b
push str.CDlgSelRegion::GetRegionInfo_:_invalid_notice_url_name.
jmp 0x4110f7
push str.CDlgSelRegion::GetRegionInfo_:_invalid_join_url_name.
jmp 0x4110f7
push str.CDlgSelRegion::GetRegionInfo_:_invalid_homepage_url_name.
jmp 0x4110f7
push str.CDlgSelRegion::GetRegionInfo_:_invalid_channeling_type_name.
jmp 0x4110f7
push str.CDlgSelRegion::GetRegionInfo_:_invalid_server_name.
jmp 0x4110f7
push esi
push str.CDlgSelRegion::GetRegionInfo_:_invalid_token___s_._BEGIN_or_SERVER_is_expected.
push 0x44c660
call fcn.00401330
add esp, 0xc
lea ecx, [esp + 0xac]
call fcn.004100d0
jmp 0x41119b
push str.CDlgSelRegion::GetRegionInfo_:_unexpected_eof._BEGIN_or_SERVER_is_expected.
jmp 0x41116e
push str.CDlgSelRegion::GetRegionInfo_:_invalid_region_name.
push 0x44c660
call fcn.00401330
add esp, 8
lea ecx, [esp + 0xac]
call fcn.004100d0
jmp 0x41119b
push str.CDlgSelRegion::GetRegionInfo_:_unexpected_eof_while_finding__version__value.
push 0x44c660
call fcn.00401330
add esp, 8
lea ecx, [esp + 0x8c]
mov dword [esp + 0x12a4], 0xffffffff
call fcn.004169b0
xor al, al
pop edi
pop ebp
mov ecx, dword [esp + 0x1294]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x128c]
pop ebx
xor ecx, esp
call fcn.0042baa4
add esp, 0x1298
ret