Function at 0x58f7e0
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x238
mov eax, dword [0x41100c]
xor eax, esp
mov dword [esp + 0x234], eax
mov eax, dword [ebp + 0x10]
push esi
push edi
mov dword [esp + 0x1c], eax
call fcn.0058ace0
test al, al
jne 0x58f83b
push 0
push 0x40d930
push str.Failed_to_load_config
push 0
call dword [0x40d144]
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x234]
xor ecx, esp
call fcn.005931b1
mov esp, ebp
pop ebp
ret 0x10
push 0xb4
lea eax, [esp + 0x188]
push 0
push eax
call fcn.00594068
add esp, 0xc
mov dword [esp + 0x180], 0x40da34
lea ecx, [esp + 0x1f0]
call dword [0x40d0fc]
push 0
push 0
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x18c]
call dword [0x40d0e0]
mov eax, dword [esp + 0x180]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x180], 0x40da40
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [esp + ecx + 0x17c], eax
lea ecx, [esp + 0x190]
call dword [0x40d118]
lea ecx, [esp + 0x190]
mov dword [esp + 0x190], 0x40d9b8
mov byte [esp + 0x1d8], 0
mov byte [esp + 0x1cd], 0
call dword [0x40d114]
mov eax, dword [0x4118d8]
mov ecx, dword [0x4118dc]
push 0xac
mov dword [esp + 0x1d4], eax
lea eax, [esp + 0xd8]
push 0
push eax
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1d4], 0
call fcn.00594068
add esp, 0xc
mov dword [esp + 0xd0], 0x40da2c
lea ecx, [esp + 0x138]
call dword [0x40d0fc]
push 0
push 0
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0xdc]
call dword [0x40d0f8]
mov eax, dword [esp + 0xd0]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0xd0], 0x40da00
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [esp + ecx + 0xcc], eax
lea ecx, [esp + 0xd4]
call dword [0x40d118]
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd4], 0x40d9b8
mov byte [esp + 0x11c], 0
mov byte [esp + 0x111], 0
call dword [0x40d114]
mov eax, dword [0x4118d8]
mov ecx, dword [0x4118dc]
push 0
push 0
push 0
push 0
mov dword [esp + 0x124], eax
lea eax, [esp + 0x68]
push eax
push 0
push 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x128], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
push 0x40d940
call dword [0x40d01c]
mov eax, dword [str.pE__nk_]
xor edx, edx
mov dword [esp + 0x50], eax
mov ax, word [0x40d9f8]
mov word [esp + 0x54], ax
mov al, byte [0x40d9fa]
mov byte [esp + 0x56], al
mov dword [esp + 0x14], edx
mov eax, 0x2f684bdb
mul edx
mov eax, dword [esp + 0x14]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x14]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x36
xor byte [esp + edx + 0x50], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 7
jl 0x58fa34
lea esi, [esp + 0x50]
mov byte [esp + 0x14], 0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x58fa75
sub ecx, edx
push ecx
push esi
push dword [esp + 0x1c]
lea ecx, [esp + 0x2c]
call fcn.0058c630
add esp, 0xc
lea ecx, [esp + 0xb8]
push 0x411828
call fcn.0058a6f0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xbc]
call fcn.00589c30
mov ecx, dword [esp + 0x34]
cmp ecx, 8
jb 0x58faf0
mov edx, dword [esp + 0x20]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x58fae6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x58fae6
call dword [0x40d218]
push ecx
push edx
call fcn.00593653
add esp, 8
xor eax, eax
mov dword [esp + 0x4c], 0x411030
lea edx, [esp + 0x48]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0xb8]
mov word [esp + 0x54], ax
mov byte [esp + 0x56], al
mov dword [esp + 0x48], eax
call fcn.0058f480
cmp dword [esp + 0x48], 0
jne 0x5902c2
push 5
mov byte [esp + 0x18], 0
lea ecx, [esp + 0x24]
push str..hash
push dword [esp + 0x1c]
call fcn.0058c630
add esp, 0xc
lea eax, [esp + 0xb8]
lea ecx, [esp + 0xa0]
push eax
call fcn.0058a6f0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xa4]
call fcn.00589c30
mov ecx, dword [esp + 0x34]
cmp ecx, 8
jb 0x58fba5
mov edx, dword [esp + 0x20]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x58fb9b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x58fb9b
call dword [0x40d218]
push ecx
push edx
call fcn.00593653
add esp, 8
cmp dword [0x41183c], 8
mov esi, 0x411828
mov eax, dword [0x411838]
cmovae esi, dword [0x411828]
mov ecx, esi
lea edx, [esi + eax*2]
mov dword [esp + 0x48], edx
call fcn.00589b50
mov edx, eax
mov edi, 0x811c9dc5
sub eax, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov eax, 0
je 0x58fbfc
mov edx, dword [esp + 0x14]
movzx ecx, byte [eax + esi]
inc eax
xor ecx, edi
imul edi, ecx, 0x1000193
cmp eax, edx
jb 0x58fbe7
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
xor al, al
mov byte [esp + 0x13], al
cmp edx, esi
je 0x58fc67
nop word [eax + eax]
movzx eax, word [edx]
mov ecx, eax
mov dword [esp + 0x48], ecx
shr ecx, 8
mov dword [esp + 0x18], ecx
cmp eax, 0x5c
je 0x58fc4b
cmp eax, 0x2f
je 0x58fc4b
movzx eax, al
xor eax, edi
mov byte [esp + 0x13], 0
imul ecx, eax, 0x1000193
mov eax, dword [esp + 0x18]
movzx eax, al
xor ecx, eax
imul edi, ecx, 0x1000193
jmp 0x58fc60
cmp byte [esp + 0x13], 0
jne 0x58fc60
xor edi, 0x5c
mov byte [esp + 0x13], 1
imul edi, edi, 0x26027a69
add edx, 2
cmp edx, esi
jne 0x58fc10
xor edi, dword [esp + 0x58]
lea eax, [esp + 0xa0]
cmp dword [esp + 0xb4], 8
push ecx
cmovae eax, dword [esp + 0xa4]
lea ecx, [esp + 0x194]
push 0x21
push eax
call fcn.005918b0
test eax, eax
lea ecx, [esp + 0x180]
mov eax, dword [esp + 0x180]
push 0
je 0x58fcb3
add ecx, dword [eax + 4]
push 0
call dword [0x40d110]
jmp 0x58fcbe
add ecx, dword [eax + 4]
push 2
call dword [0x40d100]
cmp dword [esp + 0x1dc], 0
je 0x58fd05
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x184]
call dword [0x40d0bc]
lea ecx, [esp + 0x190]
call fcn.005910a0
test eax, eax
jne 0x58fd05
mov eax, dword [esp + 0x180]
lea ecx, [esp + 0x180]
push 0
push 2
add ecx, dword [eax + 4]
call dword [0x40d100]
cmp edi, dword [esp + 0x5c]
je 0x59001b
movups xmm0, xmmword [str.CLI]
mov ax, word [0x40da28]
mov esi, dword [0x411060]
movups xmmword [esp + 0x80], xmm0
add esi, 0x1b
mov word [esp + 0x98], ax
movq xmm0, qword [0x40da20]
mov al, byte [0x40da2a]
push esi
movq qword [esp + 0x94], xmm0
mov byte [esp + 0x9e], al
call fcn.0059368d
add esp, 4
mov dword [esp + 0x48], eax
push esi
mov esi, eax
push 0
push esi
call fcn.00594068
mov byte [esi], 0
add esp, 0xc
cmp dword [0x411064], 0x10
mov edx, 0x411050
cmovae edx, dword [0x411050]
cmp byte [esp + 0x9a], 0
mov dword [esp + 0x48], edx
je 0x58ff26
xor ecx, ecx
cmp dword [0x4117ec], 2
mov dword [esp + 0x14], ecx
jl 0x58fef0
movaps xmm0, xmmword [str.6666666666666666]
mov eax, 4
movaps xmm4, xmmword [0x40db70]
movaps xmm3, xmmword [0x40dbb0]
movaps xmm6, xmmword [str.6666]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x20], xmm0
movd xmm7, eax
lea eax, [ecx + 4]
nop
movd xmm0, ecx
add ecx, 8
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x40db90]
movd xmm0, dword [esp + 0x20]
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [esp + eax + 0x7c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + eax + 0x7c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x40db90]
movd xmm0, dword [esp + 0x20]
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [esp + eax + 0x80]
pxor xmm1, xmm0
movd dword [esp + eax + 0x80], xmm1
add eax, 8
cmp eax, 0x1c
jl 0x58fde0
mov dword [esp + 0x14], ecx
cmp ecx, 0x1b
jge 0x58ff26
nop word [eax + eax]
mov eax, 0x4bda12f7
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [esp + 0x14]
movsx eax, al
imul eax, eax, 0x36
add al, cl
xor byte [esp + ecx + 0x80], al
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x1b
jl 0x58fef0
mov edx, dword [esp + 0x48]
push edx
lea eax, [esp + 0x84]
push eax
push esi
call dword [str.tuq]
add esp, 0xc
push 1
push 0
push 0
push esi
push str.open
push 0
call dword [0x40d13c]
push esi
call dword [0x40d1ac]
cmp dword [esp + 0xb8], 8
lea eax, [esp + 0xa4]
xorps xmm0, xmm0
mov word [esp + 0x9c], 0
cmovae eax, dword [esp + 0xa4]
lea ecx, [esp + 0xd8]
push 0x22
push eax
movaps xmmword [esp + 0x8c], xmm0
movq qword [esp + 0x9c], xmm0
mov byte [esp + 0xa6], 0
call fcn.005918b0
test eax, eax
lea ecx, [esp + 0xd0]
mov eax, dword [esp + 0xd0]
push 0
je 0x58ffc1
add ecx, dword [eax + 4]
push 0
call dword [0x40d110]
jmp 0x58ffcc
add ecx, dword [eax + 4]
push 2
call dword [0x40d100]
cmp dword [esp + 0x120], 0
je 0x59001b
push edi
lea ecx, [esp + 0xd4]
call dword [0x40d0c8]
lea ecx, [esp + 0xd0]
call dword [0x40d0b4]
lea ecx, [esp + 0xd4]
call fcn.005910a0
test eax, eax
jne 0x59001b
push eax
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0xd4]
push 2
add ecx, dword [eax + 4]
call dword [0x40d100]
mov esi, dword [esp + 0x1c]
xorps xmm0, xmm0
mov ecx, esi
movaps xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x590040
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x68]
call fcn.0058a840
cmp dword [0x4118b0], 0x10
lea ecx, [esp + 0x60]
push dword [0x4118ac]
mov edx, dword [esp + 0x74]
mov eax, 0x41189c
cmovae eax, dword [0x41189c]
cmp dword [esp + 0x78], 0x10
push eax
cmovae ecx, dword [esp + 0x68]
push 0
call fcn.0058eab0
add esp, 0xc
cmp eax, 0xffffffff
je 0x5900f3
sub esp, 0x18
lea eax, [esp + 0x78]
mov ecx, esp
push eax
call fcn.0058b190
call fcn.0058e8d0
add esp, 0x18
test al, al
jne 0x5900c8
push 0
push 0x40d930
push str.Failed_to_authorize_Epic_Games_account
push 0
call dword [0x40d144]
mov esi, 1
jmp 0x590185
call fcn.00591a00
test al, al
jne 0x590183
push 0
push 0x40d930
push str.Failed_to_start_the_game
push 0
call dword [0x40d144]
mov esi, 1
jmp 0x590185
call fcn.00592960
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x24]
call fcn.0058b190
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x590133
cmp dword [esp + 0x34], 0x10
lea eax, [esp + 0x20]
push ecx
cmovae eax, dword [esp + 0x24]
push eax
push 1
push 0
push str.CmdLine
push dword [0x411814]
call dword [0x40d008]
mov ecx, dword [esp + 0x34]
cmp ecx, 0x10
jb 0x59016b
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x590161
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x590161
call dword [0x40d218]
push ecx
push edx
call fcn.00593653
add esp, 8
push 0
push 0
push 0
push str.https:__www.epicgames.com_id_authorize_client_id3446cd72694c4a4485d81b77adbb2141response_typecoderedirect_uricom.epicgames.fortnite:__fnauth_
push str.open
push 0
call dword [0x40d13c]
xor esi, esi
mov ecx, dword [esp + 0x74]
cmp ecx, 0x10
jb 0x5901bb
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5901b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x590262
push ecx
push edx
call fcn.00593653
add esp, 8
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0xf
mov byte [esp + 0x60], 0
cmp ecx, 8
jb 0x59020e
mov edx, dword [esp + 0xa0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x590204
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x590262
push ecx
push edx
call fcn.00593653
add esp, 8
mov ecx, dword [esp + 0xcc]
xor eax, eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 7
mov word [esp + 0xa0], ax
cmp ecx, 8
jb 0x590272
mov edx, dword [esp + 0xb8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x590268
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x590268
call dword [0x40d218]
push ecx
push edx
call fcn.00593653
add esp, 8
xor eax, eax
mov dword [esp + 0xc8], 0
lea ecx, [esp + 0xd0]
mov dword [esp + 0xcc], 7
mov word [esp + 0xb8], ax
call fcn.005903a0
lea ecx, [esp + 0x180]
call fcn.005902e0
mov ecx, dword [esp + 0x23c]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.005931b1
mov esp, ebp
pop ebp
ret 0x10
lea eax, [esp + 0xb8]
push eax
lea edx, [esp + 0x4c]
call fcn.0058f400
int3