Function at 0x46c0f0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54b9ff
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x582654]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x228], esi
call fcn.0046dc50
push 0x28
call fcn.00523854
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x46c153
push 0x80
mov ecx, eax
call fcn.0051dff6
jmp 0x46c155
xor eax, eax
push str.imageloading_back.png
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x14], eax
call fcn.00519ae0
mov ecx, dword [esi + 0x14]
add esp, 4
push eax
call fcn.0051fca6
push 0x28
call fcn.00523854
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x46c19e
push 0x80
mov ecx, eax
call fcn.0051dff6
jmp 0x46c1a0
xor eax, eax
push str.imageloading_bar_0.png
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x18], eax
call fcn.00519ae0
mov ecx, dword [esi + 0x18]
add esp, 4
push eax
call fcn.0051fca6
push 0x28
call fcn.00523854
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x46c1e9
push 0x80
mov ecx, eax
call fcn.0051dff6
jmp 0x46c1eb
xor eax, eax
push str.imageloading_bar_1.png
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x1c], eax
call fcn.00519ae0
mov ecx, dword [esi + 0x1c]
add esp, 4
push eax
call fcn.0051fca6
push 0x104
lea eax, [ebp - 0x114]
push 0
push eax
call fcn.00527170
push 0x553858
push str.special_loading_cfg.json
mov byte [ebp - 0x21d], 0
call fcn.00521cc9
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x230], esi
test esi, esi
je 0x46c48e
push 2
push 0
push esi
call fcn.00528c9d
push esi
call fcn.0052920f
mov edi, eax
lea esi, [edi + 1]
push esi
call fcn.005238ab
push esi
mov esi, eax
mov dword [ebp - 0x238], eax
push 0
push esi
call fcn.00527170
push 0
push 0
push dword [ebp - 0x230]
call fcn.00528c9d
push dword [ebp - 0x230]
push edi
push 1
push esi
call fcn.00528933
add esp, 0x3c
test eax, eax
jne 0x46c2a6
push esi
call fcn.005238b4
add esp, 4
jmp 0x46c46d
push 0
push 0x400
push 0
lea ecx, [ebp - 0x1a4]
call fcn.00406a90
lea eax, [ebp - 0x11c]
mov dword [ebp - 4], 3
push eax
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x118], esi
call fcn.004060c0
cmp dword [ebp - 0x174], 0
jne 0x46c41f
push str.loading
lea ecx, [ebp - 0x1a4]
call fcn.0040c800
test al, al
je 0x46c41f
push str.loading
lea ecx, [ebp - 0x1a4]
call fcn.00404bb0
mov dword [ebp - 0x224], eax
cmp word [eax + 0xe], 4
jne 0x46c41f
xor edi, edi
cmp dword [eax], edi
jle 0x46c41f
mov esi, dword [ebp - 0x228]
xor ecx, ecx
mov dword [ebp - 0x234], ecx
lea edx, [esi + 0x2c]
mov dword [ebp - 0x22c], edx
mov eax, dword [eax + 8]
add ecx, eax
cmp word [ecx + 0xe], 3
jne 0x46c401
push 0x558850
call fcn.00404bb0
mov ecx, 0x1000
test word [eax + 0xe], cx
jne 0x46c36e
mov eax, dword [eax + 8]
push eax
push str.image_s
lea eax, [ebp - 0x114]
push 0x104
push eax
call fcn.00431ee0
lea eax, [ebp - 0x114]
push eax
call fcn.00519ae0
add esp, 0x14
push eax
call dword [sym.imp.DevIL.dll_ilLoadImage]
test al, al
je 0x46c401
push 0x28
call fcn.00523854
add esp, 4
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x46c3c5
push 0x80
mov ecx, eax
call fcn.0051dff6
jmp 0x46c3c7
xor eax, eax
mov ecx, dword [ebp - 0x22c]
mov byte [ebp - 4], 3
mov dword [ecx], eax
lea eax, [ebp - 0x114]
push eax
call fcn.00519ae0
add esp, 4
push eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
call fcn.0051fca6
add dword [ebp - 0x22c], 4
inc dword [esi + 0x28]
mov byte [ebp - 0x21d], 1
mov eax, dword [ebp - 0x224]
inc edi
mov ecx, dword [ebp - 0x234]
add ecx, 0x10
mov dword [ebp - 0x234], ecx
cmp edi, dword [eax]
jl 0x46c346
mov esi, dword [ebp - 0x190]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x46c44c
mov ecx, esi
call fcn.0040aac0
push 1
push dword [esi + 0x10]
call fcn.0052389d
push 0x14
push esi
call fcn.0052389d
add esp, 0x10
push dword [ebp - 0x184]
call fcn.005294aa
push 1
push dword [ebp - 0x188]
call fcn.0052389d
mov esi, dword [ebp - 0x238]
add esp, 0xc
push dword [ebp - 0x230]
call fcn.005286e7
push esi
call fcn.005238b4
add esp, 8
cmp byte [ebp - 0x21d], 0
jne 0x46c532
mov edi, dword [ebp - 0x228]
xor esi, esi
add edi, 0x2c
nop dword [eax]
push esi
push str.imagechange_zone_back__d.png
lea eax, [ebp - 0x114]
push 0x104
push eax
call fcn.00431ee0
lea eax, [ebp - 0x114]
push eax
call fcn.00519ae0
add esp, 0x14
push eax
call dword [sym.imp.DevIL.dll_ilLoadImage]
test al, al
je 0x46c528
push 0x28
call fcn.00523854
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x46c4fa
push 0x80
mov ecx, eax
call fcn.0051dff6
jmp 0x46c4fc
xor eax, eax
mov dword [edi], eax
lea eax, [ebp - 0x114]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00519ae0
mov ecx, dword [edi]
add esp, 4
push eax
call fcn.0051fca6
mov eax, dword [ebp - 0x228]
add edi, 4
inc dword [eax + 0x28]
inc esi
cmp esi, 0xa
jl 0x46c4a0
push str.imagechange_arena_back.png
call fcn.00519ae0
mov edi, dword [sym.imp.DevIL.dll_ilLoadImage]
add esp, 4
push eax
call edi
test al, al
je 0x46c59f
push 0x28
call fcn.00523854
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x46c575
push 0x80
mov ecx, eax
call fcn.0051dff6
jmp 0x46c577
xor eax, eax
mov esi, dword [ebp - 0x228]
push str.imagechange_arena_back.png
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x54], eax
call fcn.00519ae0
mov ecx, dword [esi + 0x54]
add esp, 4
push eax
call fcn.0051fca6
jmp 0x46c5a5
mov esi, dword [ebp - 0x228]
push str.imagechange_zone_bar.png
call fcn.00519ae0
add esp, 4
push eax
call edi
test al, al
je 0x46c604
push 0x28
call fcn.00523854
add esp, 4
mov dword [ebp - 0x118], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x46c5e2
push 0x80
mov ecx, eax
call fcn.0051dff6
jmp 0x46c5e4
xor eax, eax
push str.imagechange_zone_bar.png
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x58], eax
call fcn.00519ae0
mov ecx, dword [esi + 0x58]
add esp, 4
push eax
call fcn.0051fca6
push 0x553858
push str.server_config.json
call fcn.00521cc9
mov esi, eax
add esp, 8
mov dword [ebp - 0x230], esi
test esi, esi
je 0x46ca89
push 2
push 0
push esi
call fcn.00528c9d
push esi
call fcn.0052920f
mov edi, eax
lea esi, [edi + 1]
push esi
call fcn.005238ab
push esi
mov esi, eax
mov dword [ebp - 0x22c], eax
push 0
push esi
call fcn.00527170
push 0
push 0
push dword [ebp - 0x230]
call fcn.00528c9d
push dword [ebp - 0x230]
push edi
push 1
push esi
call fcn.00528933
add esp, 0x3c
test eax, eax
jne 0x46c685
push esi
call fcn.005238b4
add esp, 4
jmp 0x46ca75
push 0
push 0x400
push 0
lea ecx, [ebp - 0x16c]
call fcn.00406a90
lea eax, [ebp - 0x11c]
mov dword [ebp - 4], 8
push eax
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x118], esi
call fcn.004060c0
cmp dword [ebp - 0x13c], 0
jne 0x46ca2e
mov esi, dword [ebp - 0x16c]
mov eax, str.server_config
shl esi, 5
add esi, dword [ebp - 0x164]
nop
inc eax
cmp byte [eax], 0
jne 0x46c6e0
sub eax, str.server_config
xorps xmm0, xmm0
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x124], eax
mov ecx, 0x405
lea eax, [ebp - 0x124]
mov word [ebp - 0x116], cx
push eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x11c], str.server_config
push eax
lea ecx, [ebp - 0x16c]
call fcn.004053e0
cmp dword [ebp - 0x224], esi
je 0x46ca2e
push str.server_config
lea ecx, [ebp - 0x16c]
call fcn.00404bb0
mov edi, eax
mov ecx, str.verson
mov esi, dword [edi]
shl esi, 5
add esi, dword [edi + 8]
inc ecx
cmp byte [ecx], 0
jne 0x46c755
xorps xmm0, xmm0
mov eax, 0x405
movups xmmword [ebp - 0x124], xmm0
mov word [ebp - 0x116], ax
sub ecx, str.verson
lea eax, [ebp - 0x124]
mov dword [ebp - 0x124], ecx
push eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x11c], str.verson
push eax
mov ecx, edi
call fcn.004053e0
cmp dword [ebp - 0x224], esi
je 0x46c7d0
push str.verson
mov ecx, edi
call fcn.00404bb0
mov ecx, 0x1000
test word [eax + 0xe], cx
jne 0x46c7be
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x228]
push eax
add ecx, 0x31194
call fcn.0043c9b0
mov esi, dword [edi]
mov eax, str.servers
shl esi, 5
add esi, dword [edi + 8]
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x46c7e0
sub eax, str.servers
xorps xmm0, xmm0
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x124], eax
mov ecx, 0x405
lea eax, [ebp - 0x124]
mov word [ebp - 0x116], cx
push eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x11c], str.servers
push eax
mov ecx, edi
call fcn.004053e0
cmp dword [ebp - 0x224], esi
je 0x46ca2e
push str.servers
mov ecx, edi
call fcn.00404bb0
mov dword [ebp - 0x118], eax
cmp word [eax + 0xe], 4
jne 0x46ca2e
cmp dword [eax], 0
mov dword [ebp - 0x238], 0
jle 0x46ca2e
xor edx, edx
mov dword [ebp - 0x234], edx
nop word [eax + eax]
mov edi, dword [eax + 8]
mov eax, str.name
add edi, edx
mov esi, dword [edi]
shl esi, 5
add esi, dword [edi + 8]
inc eax
cmp byte [eax], 0
jne 0x46c882
sub eax, str.name
xorps xmm0, xmm0
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x134], eax
mov ecx, 0x405
lea eax, [ebp - 0x134]
mov word [ebp - 0x126], cx
push eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x12c], str.name
push eax
mov ecx, edi
call fcn.004053e0
cmp dword [ebp - 0x224], esi
je 0x46ca04
push str.verson
mov ecx, edi
call fcn.0040c800
test al, al
je 0x46ca04
push str.host
mov ecx, edi
call fcn.0040c800
test al, al
je 0x46ca04
push str.port
mov ecx, edi
call fcn.0040c800
test al, al
je 0x46ca04
push str.type
mov ecx, edi
call fcn.0040c800
test al, al
je 0x46ca04
lea ecx, [ebp - 0x21c]
call fcn.00469c50
push str.name
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.00404bb0
mov esi, 0x1000
test word [eax + 0xe], si
jne 0x46c94d
mov eax, dword [eax + 8]
push eax
lea ecx, [ebp - 0x21c]
call fcn.0043c9b0
push str.verson
mov ecx, edi
call fcn.00404bb0
test word [eax + 0xe], si
jne 0x46c96e
mov eax, dword [eax + 8]
push eax
lea ecx, [ebp - 0x204]
call fcn.0043c9b0
push str.host
mov ecx, edi
call fcn.00404bb0
test word [eax + 0xe], si
jne 0x46c98f
mov eax, dword [eax + 8]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0043c9b0
push str.port
mov ecx, edi
call fcn.00404bb0
test word [eax + 0xe], si
jne 0x46c9b0
mov eax, dword [eax + 8]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0043c9b0
push str.type
mov ecx, edi
call fcn.00404bb0
test word [eax + 0xe], si
jne 0x46c9d1
mov eax, dword [eax + 8]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0043c9b0
mov ecx, dword [ebp - 0x228]
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ecx + 0x311ac]
call fcn.0046eab0
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 8
call fcn.0046ae80
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x118]
inc ecx
mov edx, dword [ebp - 0x234]
add edx, 0x10
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x234], edx
cmp ecx, dword [eax]
jl 0x46c870
mov esi, dword [ebp - 0x158]
test esi, esi
je 0x46ca54
mov ecx, esi
call fcn.0040aac0
push 1
push dword [esi + 0x10]
call fcn.0052389d
push 0x14
push esi
call fcn.0052389d
add esp, 0x10
push dword [ebp - 0x14c]
call fcn.005294aa
push 1
push dword [ebp - 0x150]
call fcn.0052389d
mov esi, dword [ebp - 0x22c]
add esp, 0xc
push dword [ebp - 0x230]
call fcn.005286e7
push esi
call fcn.005238b4
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052388c
mov esp, ebp
pop ebp
ret