Function at 0x517950
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cac3c
mov eax, dword fs:[0]
push eax
mov eax, 0x1288
call fcn.004671e0
mov eax, dword [0x623ec0]
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 - 0x1278], esi
push 0x100
lea eax, [ebp - 0x1c0]
push 0
push eax
call fcn.00468b40
mov ecx, dword [esi + 0x1aac50]
add esp, 0xc
test ecx, ecx
jne 0x5179b0
mov eax, 0x7df230
jmp 0x5179cc
cmp ecx, 1
jne 0x5179bc
mov eax, 0x7df2b0
jmp 0x5179cc
cmp ecx, 2
mov eax, 0x7df330
mov edx, 0x7df3b0
cmovne eax, edx
push eax
lea eax, [ebp - 0x1c0]
push 0x80
push eax
call fcn.004459c0
mov eax, dword [esi + 0x1aa43c]
add esp, 0xc
test eax, eax
jne 0x517a04
push eax
push eax
push eax
push eax
push 0x5fdb68
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [esi + 0x1aa43c], eax
test eax, eax
je 0x517a72
push 0
push 0x4000000
push 0
push 0
lea ecx, [ebp - 0x1c0]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
push 0x1000
mov edi, eax
mov dword [ebp - 0x11d0], 0
lea eax, [ebp - 0x11c0]
push 0
push eax
call fcn.00468b40
add esp, 0xc
test edi, edi
je 0x517a69
lea eax, [ebp - 0x11d0]
push eax
push 0x1000
lea eax, [ebp - 0x11c0]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
push edi
call esi
cmp byte [ebp - 0x11c0], 0
jne 0x517a79
xor eax, eax
jmp 0x518a8d
xor eax, eax
mov dword [ebp - 0x11c4], 0
xorps xmm0, xmm0
movq qword [ebp - 0x11cc], xmm0
mov dword [ebp - 0x11cc], eax
mov dword [ebp - 0x11c8], eax
mov dword [ebp - 0x11c4], eax
mov dword [ebp - 4], eax
lea edx, [ebp - 0x11c0]
lea ecx, [ebp - 0x1294]
call fcn.00518ad0
mov esi, eax
mov byte [ebp - 4], 1
xor edi, edi
lea eax, [ebp - 0x11cc]
mov dword [ebp - 0x1280], edi
cmp eax, esi
je 0x517b09
mov ecx, eax
call fcn.0045ff50
mov ecx, dword [esi]
mov dword [ebp - 0x11cc], ecx
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [ebp - 0x11c8], edi
mov dword [ebp - 0x11c4], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [ebp - 0x1280], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1294]
call fcn.0045ff50
sub edi, dword [ebp - 0x1280]
jne 0x517b27
xor esi, esi
jmp 0x518a79
mov edi, dword [ebp - 0x1278]
xor esi, esi
nop
cmp dword [edi + esi*4 + 0x1aaad4], 0
je 0x517b6d
lea eax, [esi + 1]
xorps xmm0, xmm0
push eax
push 0x5fd138
lea eax, [ebp - 0x20]
push 0x10
push eax
movups xmmword [ebp - 0x20], xmm0
call fcn.004459c0
mov ecx, dword [edi + esi*4 + 0x1aaad4]
lea edx, [ebp - 0x20]
add esp, 0x10
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x80]
mov ecx, dword [edi + esi*4 + 0x1aaafc]
test ecx, ecx
je 0x517b97
mov eax, dword [ecx]
push 0
mov edx, dword [eax + 0x80]
imul eax, esi, 0xc8
add eax, dword [ebp - 0x11cc]
push eax
call edx
mov edi, dword [ebp - 0x1278]
mov edx, dword [edi + esi*4 + 0x1aab24]
mov dword [ebp - 0x1284], edx
test edx, edx
je 0x517e96
mov ecx, dword [ebp - 0x11cc]
imul eax, esi, 0xc8
mov edi, dword [eax + ecx + 0x74]
mov edx, edi
sar edi, 0xc
and edx, 0xfff
and edi, 0xf
mov dword [ebp - 0x1280], edx
mov eax, edi
xor ecx, ecx
shl eax, 0x10
add edx, eax
mov eax, dword [0x9c25bc]
mov dword [ebp - 0x127c], edx
add eax, 8
nop word [eax + eax]
mov edx, dword [ebp - 0x127c]
cmp dword [eax], edx
mov edx, dword [ebp - 0x1284]
je 0x517c61
inc ecx
add eax, 0xc
cmp ecx, 0x40
jl 0x517bf0
push 0xa0
lea eax, [ebp - 0x1270]
push 0
push eax
call fcn.00468b40
mov eax, dword [ebp - 0x1280]
add esp, 0xc
mov dword [ebp - 0x1264], eax
xor edx, edx
mov eax, dword [0x9c25bc]
mov dword [ebp - 0x1268], edi
add eax, 8
nop dword [eax + eax]
cmp dword [eax], 0xffffffff
je 0x517cd9
inc edx
add eax, 0xc
cmp edx, 0x40
jl 0x517c40
mov dword [ebp - 0x11e0], 0xffffffff
jmp 0x517ce4
cmp ecx, 0xffffffff
je 0x517c09
mov edi, dword [ebp - 0x11cc]
imul eax, esi, 0xc8
mov eax, dword [eax + edi + 0x40]
mov dword [edx + 0x1c4], ecx
cmp eax, 0x1fd
je 0x517cb6
cmp eax, 9
je 0x517cb6
cmp eax, 0x20e
jl 0x517c96
cmp eax, 0x213
jle 0x517c9e
add eax, 0xfffffffd
cmp eax, 5
ja 0x517caa
mov dword [edx + 0x1c8], 2
jmp 0x517cc0
mov dword [edx + 0x1c8], 3
jmp 0x517cc0
mov dword [edx + 0x1c8], 1
mov edi, dword [ebp - 0x1278]
mov eax, dword [edi + esi*4 + 0x1aab24]
mov dword [eax + 0x78], 1
jmp 0x517e96
mov dword [ebp - 0x11e0], edx
cmp edx, 0xffffffff
jne 0x517d03
mov ecx, dword [ebp - 0x1278]
call fcn.004ffcb0
mov edi, dword [ebp - 0x1264]
mov edx, eax
mov dword [ebp - 0x11e0], edx
mov dword [ebp - 0x1280], edi
mov edi, dword [ebp - 0x11cc]
xor eax, eax
imul ecx, esi, 0xc8
mov ecx, dword [ecx + edi + 0x40]
mov edi, dword [ebp - 0x1280]
cmp ecx, 9
ja case.default.0x517d20
jmp dword [ecx*4 + 0x518aa8]
mov eax, 0x1fc
jmp case.default.0x517d20
mov eax, 0x217
jmp case.default.0x517d20
mov eax, 0x20e
jmp case.default.0x517d20
mov eax, 0x20f
jmp case.default.0x517d20
mov eax, 0x210
jmp case.default.0x517d20
mov eax, 0x211
jmp case.default.0x517d20
mov eax, 0x212
jmp case.default.0x517d20
mov eax, 0x213
jmp case.default.0x517d20
mov eax, 0x1fd
mov word [ebp - 0x11d4], ax
cmp edx, 0xffffffff
je 0x517e90
push 0x40
lea eax, [ebp - 0xc0]
push 0
push eax
call fcn.00468b40
push edi
push 0
push 1
push 0x63
lea eax, [ebp - 0xc0]
push str._c_02d_02d_04d.bmp
push eax
call fcn.00445aa0
add esp, 0x24
xor ecx, ecx
mov al, byte [ebp + ecx - 0xc0]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x1261], al
test al, al
jne 0x517da1
mov eax, dword [ebp - 0x11e0]
mov edx, dword [ebp - 0x1268]
mov edi, dword [ebp - 0x1278]
shl edx, 0x10
add edx, dword [ebp - 0x1264]
lea ecx, [eax + eax*2]
mov eax, dword [0x9c25bc]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [edi + esi*4 + 0x1aab24]
mov dword [ebp - 0x1270], eax
lea eax, [ebp - 0x1270]
push eax
call fcn.004ff9b0
mov ecx, dword [ebp - 0x11cc]
mov edx, dword [edi + esi*4 + 0x1aab24]
imul eax, esi, 0xc8
mov ecx, dword [eax + ecx + 0x40]
test edx, edx
je 0x517e80
mov eax, dword [ebp - 0x11e0]
mov dword [edx + 0x1c4], eax
cmp ecx, 0x1fd
je 0x517e76
cmp ecx, 9
je 0x517e76
cmp ecx, 0x20e
jl 0x517e3a
cmp ecx, 0x213
jle 0x517e42
lea eax, [ecx - 3]
cmp eax, 5
ja 0x517e5c
mov dword [edx + 0x1c8], 2
mov eax, dword [edi + esi*4 + 0x1aab24]
mov dword [eax + 0x78], 1
jmp 0x517e96
mov dword [edx + 0x1c8], 3
mov eax, dword [edi + esi*4 + 0x1aab24]
mov dword [eax + 0x78], 1
jmp 0x517e96
mov dword [edx + 0x1c8], 1
mov eax, dword [edi + esi*4 + 0x1aab24]
mov dword [eax + 0x78], 1
jmp 0x517e96
mov edi, dword [ebp - 0x1278]
mov ecx, dword [edi + esi*4 + 0x1aab4c]
test ecx, ecx
je 0x5184d4
cmp dword [edi + esi*4 + 0x1aab74], 0
je 0x5184d4
mov edi, dword [ebp - 0x11cc]
mov eax, dword [ecx]
imul edx, esi, 0xc8
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x1280], edx
cmp byte [edi + edx], 0
mov edi, dword [ebp - 0x1278]
je 0x5184b3
call eax
mov dword [eax + 0x3c], 0xc8
mov ecx, dword [edi + esi*4 + 0x1aab74]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
movss xmm1, dword [0x626b18]
mov ecx, str.SubCelestial
movaps xmm0, xmm1
mulss xmm1, dword [0x60521c]
mulss xmm0, dword [0x605214]
mov dword [eax + 0x3c], 0xc8
mov eax, dword [edi + esi*4 + 0x1aab4c]
movss dword [eax + 0x4c], xmm0
mov eax, dword [edi + esi*4 + 0x1aab74]
movss dword [eax + 0x4c], xmm1
mov eax, dword [ebp - 0x1280]
add eax, 0x30
add eax, dword [ebp - 0x11cc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x517f65
test dl, dl
je 0x517f61
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x517f65
add eax, 2
add ecx, 2
test dl, dl
jne 0x517f45
xor eax, eax
jmp 0x517f6a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5182c9
mov ecx, dword [ebp - 0x11cc]
mov edx, dword [ebp - 0x1280]
add ecx, 0x20
add edx, ecx
mov ecx, str.TransKnight
mov dword [ebp - 0x127c], edx
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x517fd2
cmp byte [ebp - 0x1271], 0
je 0x517fce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x517fd2
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x517f90
xor eax, eax
jmp 0x517fd7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x517ff8
mov ecx, dword [edi + esi*4 + 0x1aab4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 4
jmp 0x518121
mov ecx, str.Foema
mov eax, edx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518042
cmp byte [ebp - 0x1271], 0
je 0x51803e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518042
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518000
xor eax, eax
jmp 0x518047
sbb eax, eax
or eax, 1
test eax, eax
jne 0x518068
mov ecx, dword [edi + esi*4 + 0x1aab4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0x1c
jmp 0x518121
mov ecx, str.BeastMaster
mov eax, edx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x5180b2
cmp byte [ebp - 0x1271], 0
je 0x5180ae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x5180b2
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518070
xor eax, eax
jmp 0x5180b7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5180d5
mov ecx, dword [edi + esi*4 + 0x1aab4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0x40
jmp 0x518121
mov eax, str.Huntress
nop word [eax + eax]
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x518100
test cl, cl
je 0x5180fc
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x518100
add edx, 2
add eax, 2
test cl, cl
jne 0x5180e0
xor eax, eax
jmp 0x518105
sbb eax, eax
or eax, 1
test eax, eax
jne 0x518121
mov ecx, dword [edi + esi*4 + 0x1aab4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0x4f
mov ecx, dword [ebp - 0x11cc]
mov edx, dword [ebp - 0x1280]
add ecx, 0x44
add edx, ecx
mov ecx, str.TransKnight
mov dword [ebp - 0x127c], edx
mov eax, edx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518182
cmp byte [ebp - 0x1271], 0
je 0x51817e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518182
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518140
xor eax, eax
jmp 0x518187
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5181a8
mov ecx, dword [edi + esi*4 + 0x1aab74]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 4
jmp 0x5184d4
mov ecx, str.Foema
mov eax, edx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x5181f2
cmp byte [ebp - 0x1271], 0
je 0x5181ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x5181f2
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x5181b0
xor eax, eax
jmp 0x5181f7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x518218
mov ecx, dword [edi + esi*4 + 0x1aab74]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0x1c
jmp 0x5184d4
mov ecx, str.BeastMaster
mov eax, edx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518262
cmp byte [ebp - 0x1271], 0
je 0x51825e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518262
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518220
xor eax, eax
jmp 0x518267
sbb eax, eax
or eax, 1
test eax, eax
jne 0x518288
mov ecx, dword [edi + esi*4 + 0x1aab74]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0x40
jmp 0x5184d4
mov eax, str.Huntress
nop dword [eax]
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x5182b0
test cl, cl
je 0x5182ac
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x5182b0
add edx, 2
add eax, 2
test cl, cl
jne 0x518290
xor eax, eax
jmp 0x5182b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5184d4
mov ecx, dword [edi + esi*4 + 0x1aab74]
jmp 0x5184a0
mov ecx, dword [edi + esi*4 + 0x1aab74]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
movss xmm1, dword [0x6050d8]
divss xmm1, dword [0x626b2c]
mov edx, dword [ebp - 0x1280]
mov dword [eax + 0x3c], 0xfffffffe
mov eax, dword [0x9c25a4]
mov ecx, dword [edi + esi*4 + 0x1aab74]
mov eax, dword [eax + 0xa8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605750]
mov eax, dword [edi + esi*4 + 0x1aab4c]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm0
movss xmm0, dword [ecx + 0x4c]
mov ecx, dword [ebp - 0x11cc]
subss xmm0, xmm1
add ecx, 0x20
add edx, ecx
mov ecx, str.TransKnight
mov dword [ebp - 0x127c], edx
movss dword [eax + 0x4c], xmm0
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518394
cmp byte [ebp - 0x1271], 0
je 0x518390
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518394
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518352
xor eax, eax
jmp 0x518399
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5183a9
mov ecx, dword [edi + esi*4 + 0x1aab4c]
jmp 0x518192
mov ecx, str.Foema
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x5183f2
cmp byte [ebp - 0x1271], 0
je 0x5183ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x5183f2
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x5183b0
xor eax, eax
jmp 0x5183f7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x518407
mov ecx, dword [edi + esi*4 + 0x1aab4c]
jmp 0x518202
mov ecx, str.BeastMaster
mov eax, edx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518452
cmp byte [ebp - 0x1271], 0
je 0x51844e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x127c]
jne 0x518452
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518410
xor eax, eax
jmp 0x518457
sbb eax, eax
or eax, 1
test eax, eax
jne 0x518467
mov ecx, dword [edi + esi*4 + 0x1aab4c]
jmp 0x518272
mov eax, str.Huntress
nop dword [eax]
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x518490
test cl, cl
je 0x51848c
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x518490
add edx, 2
add eax, 2
test cl, cl
jne 0x518470
xor eax, eax
jmp 0x518495
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5184d4
mov ecx, dword [edi + esi*4 + 0x1aab4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0x4f
jmp 0x5184d4
call eax
mov dword [eax + 0x3c], 0xfffffffe
mov ecx, dword [edi + esi*4 + 0x1aab74]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x3c], 0xfffffffe
mov ecx, dword [edi + esi*4 + 0x1aab9c]
test ecx, ecx
je 0x518503
mov eax, dword [ecx]
mov edi, dword [ebp - 0x11cc]
add edi, 0x30
push 0
mov edx, dword [eax + 0x80]
imul eax, esi, 0xc8
add eax, edi
push eax
call edx
mov edi, dword [ebp - 0x1278]
mov ecx, dword [edi + esi*4 + 0x1aabec]
test ecx, ecx
je 0x5185c0
mov edx, dword [ebp - 0x11cc]
mov eax, dword [ecx]
add edx, 0x10
imul edi, esi, 0xc8
push 0
add edx, edi
push edx
call dword [eax + 0x80]
mov eax, dword [ebp - 0x11cc]
mov ecx, str.SubCelestial
add eax, 0x30
add eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x518560
test dl, dl
je 0x51855c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x518560
add eax, 2
add ecx, 2
test dl, dl
jne 0x518540
xor eax, eax
jmp 0x518565
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5185ba
mov ecx, dword [ebp - 0x11cc]
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
movups xmmword [ebp - 0x30], xmm0
lea eax, [ecx + 0x54]
add eax, edi
push eax
lea eax, [ecx + 0x10]
add eax, edi
push eax
push str._s__s
lea eax, [ebp - 0x40]
push 0x20
push eax
call fcn.004459c0
mov edi, dword [ebp - 0x1278]
lea edx, [ebp - 0x40]
add esp, 0x14
mov ecx, dword [edi + esi*4 + 0x1aabec]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp 0x5185c0
mov edi, dword [ebp - 0x1278]
mov ecx, dword [edi + esi*4 + 0x1aac14]
test ecx, ecx
je 0x518741
mov eax, dword [ebp - 0x11cc]
imul edi, esi, 0xc8
cmp byte [edi + eax], 0
je 0x51872c
mov eax, dword [ebp - 0x1278]
push 0x2718
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x1aac50]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
cmp edx, 2
jne 0x518675
call eax
test eax, eax
je 0x518620
mov ecx, dword [eax]
push 0
push str.Kills_Deaths
mov edx, dword [ecx + 0x80]
mov ecx, eax
call edx
mov eax, dword [ebp - 0x11cc]
xorps xmm0, xmm0
movups xmmword [ebp - 0x60], xmm0
movups xmmword [ebp - 0x50], xmm0
lea ecx, [eax + 0x98]
add eax, 0x88
add ecx, edi
add eax, edi
push ecx
push eax
push str._s____s
lea eax, [ebp - 0x60]
push 0x20
push eax
call fcn.004459c0
mov edi, dword [ebp - 0x1278]
lea edx, [ebp - 0x60]
add esp, 0x14
mov ecx, dword [edi + esi*4 + 0x1aac14]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp 0x518741
cmp edx, 3
jne 0x5186ec
call eax
test eax, eax
je 0x518697
mov ecx, dword [eax]
push 0
push str.Wins_Loses
mov edx, dword [ecx + 0x80]
mov ecx, eax
call edx
mov eax, dword [ebp - 0x11cc]
xorps xmm0, xmm0
movups xmmword [ebp - 0x80], xmm0
movups xmmword [ebp - 0x70], xmm0
lea ecx, [eax + 0xb8]
add eax, 0xa8
add ecx, edi
add eax, edi
push ecx
push eax
push str._s____s
lea eax, [ebp - 0x80]
push 0x20
push eax
call fcn.004459c0
mov edi, dword [ebp - 0x1278]
lea edx, [ebp - 0x80]
add esp, 0x14
mov ecx, dword [edi + esi*4 + 0x1aac14]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
jmp 0x518741
call eax
test eax, eax
je 0x518705
mov ecx, dword [eax]
push 0
push 0x600ee4
mov edx, dword [ecx + 0x80]
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x1278]
push 0
mov ecx, dword [ecx + esi*4 + 0x1aac14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x80]
mov eax, dword [ebp - 0x11cc]
add eax, 0x78
add eax, edi
push eax
call edx
jmp 0x51873b
mov eax, dword [ecx]
push 0
push 0x5fcdc8
call dword [eax + 0x80]
mov edi, dword [ebp - 0x1278]
mov ecx, dword [edi + esi*4 + 0x1aabc4]
test ecx, ecx
je 0x518a59
mov edx, dword [ebp - 0x11cc]
mov eax, dword [ecx]
imul edi, esi, 0xc8
mov eax, dword [eax + 0x84]
cmp byte [edi + edx], 0
je 0x518a4a
call eax
mov edx, dword [ebp - 0x11cc]
mov ecx, str.SubCelestial
add edx, 0x30
add edx, edi
mov dword [eax + 0x3c], 0x41
mov eax, edx
mov dword [ebp - 0x1280], edx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x5187d2
cmp byte [ebp - 0x1271], 0
je 0x5187ce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x5187d2
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518790
xor eax, eax
jmp 0x5187d7
sbb eax, eax
or eax, 1
test eax, eax
je 0x51896b
mov eax, str.Celestial
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x518804
test cl, cl
je 0x518800
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x518804
add edx, 2
add eax, 2
test cl, cl
jne 0x5187e4
xor eax, eax
jmp 0x518809
sbb eax, eax
or eax, 1
test eax, eax
je 0x51896b
mov edx, dword [ebp - 0x11cc]
mov ecx, str.Akelonia
add edx, 0x64
add edx, edi
mov dword [ebp - 0x1280], edx
mov eax, edx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x518872
cmp byte [ebp - 0x1271], 0
je 0x51886e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x518872
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518830
xor eax, eax
jmp 0x518877
sbb eax, eax
or eax, 1
test eax, eax
jne 0x51889e
mov edi, dword [ebp - 0x1278]
mov ecx, dword [edi + esi*4 + 0x1aabc4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 1
jmp 0x518a59
mov ecx, str.Hekalotia
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x5188e7
cmp byte [ebp - 0x1271], 0
je 0x5188e3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x5188e7
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x5188a5
xor eax, eax
jmp 0x5188ec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x518913
mov edi, dword [ebp - 0x1278]
mov ecx, dword [edi + esi*4 + 0x1aabc4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0
jmp 0x518a59
mov eax, str.Adventure
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x518938
test cl, cl
je 0x518934
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x518938
add edx, 2
add eax, 2
test cl, cl
jne 0x518918
xor eax, eax
jmp 0x51893d
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0x1278]
test eax, eax
mov ecx, dword [edi + esi*4 + 0x1aabc4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x84]
jne 0x518964
call eax
mov dword [eax + 0x40], 6
jmp 0x518a59
call eax
jmp 0x518a52
mov edx, dword [ebp - 0x11cc]
mov ecx, str.Akelonia
add edx, 0x64
add edx, edi
mov dword [ebp - 0x1280], edx
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x5189c5
cmp byte [ebp - 0x1271], 0
je 0x5189c1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
mov byte [ebp - 0x1271], dl
mov edx, dword [ebp - 0x1280]
jne 0x5189c5
add eax, 2
add ecx, 2
cmp byte [ebp - 0x1271], 0
jne 0x518983
xor eax, eax
jmp 0x5189ca
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5189f1
mov edi, dword [ebp - 0x1278]
mov ecx, dword [edi + esi*4 + 0x1aabc4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [eax + 0x40], 0x20
jmp 0x518a59
mov eax, str.Hekalotia
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x518a16
test cl, cl
je 0x518a12
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x518a16
add edx, 2
add eax, 2
test cl, cl
jne 0x5189f6
xor eax, eax
jmp 0x518a1b
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0x1278]
test eax, eax
mov ecx, dword [edi + esi*4 + 0x1aabc4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x84]
jne 0x518a3f
call eax
mov dword [eax + 0x40], 0x1f
jmp 0x518a59
call eax
mov dword [eax + 0x40], 0x21
jmp 0x518a59
call eax
mov edi, dword [ebp - 0x1278]
mov dword [eax + 0x3c], 0xfffffffe
inc esi
cmp esi, 0xa
jl 0x517b30
mov ecx, dword [edi + 0x1aaad0]
test ecx, ecx
je 0x518a74
mov eax, dword [ecx]
push 1
call dword [eax + 0x60]
mov esi, 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11cc]
call fcn.0045ff50
mov eax, esi
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.0046676f
mov esp, ebp
pop ebp
ret