Function at 0x5900f3d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5913ec98
push eax
mov eax, dword [esp + 0x18]
mov dword fs:[0], esp
sub esp, 0x60
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x5900f3fa
mov dword [eax], 0
mov esi, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
test esi, esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], ebp
je 0x5900fd70
test ebp, ebp
je 0x5900fd70
mov edi, 0x5917ae38
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5917ae38
push ebp
push esi
call fcn.5900d130
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
mov dword [esp + 0x2c], ebx
je 0x5900fd70
mov edi, 0x5917ae38
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
add edx, ebx
xor ebx, ebx
add edx, esi
cmp byte [edx], 0xd
je 0x5900f498
mov ecx, dword [esp + 0x2c]
mov eax, ebp
sub eax, ecx
mov dword [esp + 0x58], eax
mov edi, 0x5917ae38
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x58]
not ecx
dec ecx
sub eax, ecx
cmp ebx, eax
jge 0x5900f498
mov al, byte [ebx + edx + 1]
inc ebx
cmp al, 0xd
jne 0x5900f476
mov edi, 0x5917ae38
or ecx, 0xffffffff
xor eax, eax
mov edx, ebp
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2c]
not ecx
dec ecx
sub edx, eax
sub edx, ecx
cmp ebx, edx
jge 0x5900fd70
test ebx, ebx
jle 0x5900fd70
mov eax, dword [0x59155850]
mov dword [esp + 0x84], eax
push 0x5917ae30
push ebp
push esi
mov dword [esp + 0x84], 0
call fcn.5900f390
mov edx, eax
or ebx, 0xffffffff
add esp, 0xc
cmp edx, ebx
je 0x5900fd60
mov edi, 0x5917ae30
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
lea ecx, [esp + 0x24]
sub ebp, edx
add esi, edx
push ebp
push esi
call fcn.590998b0
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x80]
push ecx
push 0x5917a4c4
mov byte [esp + 0x80], 2
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x68], 0
call fcn.5907afc0
mov ebp, dword [esp + 0x80]
mov byte [esp + 0x78], 3
mov eax, dword [ebp - 8]
test eax, eax
jne 0x5900f567
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59099e00
jmp 0x5900fd52
mov eax, dword [0x59155850]
mov dword [esp + 0x20], eax
mov byte [esp + 0x78], 5
mov dword [esp + 0x1c], eax
mov byte [esp + 0x78], 6
mov dword [esp + 0x18], eax
mov byte [esp + 0x78], 7
mov dword [esp + 0x14], eax
mov byte [esp + 0x78], 8
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 8]
mov byte [esp + 0x78], 9
test eax, eax
je 0x5900faf4
xor ebx, ebx
mov esi, 0x59179c9c
jmp 0x5900f5b4
mov ebp, dword [esp + 0x80]
mov edx, dword [esi]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
push edx
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5900f5e2
add esi, 4
inc ebx
cmp esi, 0x59179ca0
jb 0x5900f5ad
jmp 0x5900f67a
mov edi, dword [ebx*4 + 0x59179c9c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov eax, esp
mov dword [esp + 0x70], esp
push ecx
push eax
lea ecx, [esp + 0x8c]
call fcn.5909bff0
lea ecx, [esp + 0x34]
mov byte [esp + 0x7c], 9
push ecx
call fcn.5900abf0
add esp, 8
mov eax, dword [esp + 0x30]
mov byte [esp + 0x78], 0xb
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f66c
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.590a35e0
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.5900b5b0
add esp, 8
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 0xc
push ecx
lea ecx, [esp + 0x24]
call fcn.5909f310
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 0xb
call fcn.5909f180
lea ecx, [esp + 0x30]
mov byte [esp + 0x78], 9
call fcn.59099e00
xor ebp, ebp
mov esi, 0x59179ca4
mov edx, dword [esi]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x80]
not ecx
dec ecx
push ecx
push eax
push edx
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5900f6b6
add esi, 4
inc ebp
cmp esi, 0x59179ca8
jb 0x5900f681
jmp 0x5900f757
mov edi, dword [ebp*4 + 0x59179ca4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov edx, esp
mov dword [esp + 0x70], esp
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.5909bff0
lea eax, [esp + 0x3c]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900abf0
add esp, 8
mov eax, dword [esp + 0x38]
mov byte [esp + 0x78], 0xe
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f749
push 0xfde9
push eax
lea ecx, [esp + 0x8c]
call fcn.590a35e0
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x34]
push ecx
push edx
call fcn.5900b5b0
add esp, 8
lea eax, [esp + 0x34]
lea ecx, [esp + 0x84]
push eax
mov byte [esp + 0x7c], 0xf
call fcn.5909f310
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0xe
call fcn.5909f180
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 9
call fcn.59099e00
xor ebp, ebp
mov esi, 0x59179ca8
mov edx, dword [esi]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x84]
push ecx
push edx
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5900f793
add esi, 4
inc ebp
cmp esi, 0x59179cac
jb 0x5900f75e
jmp 0x5900f82b
mov edi, dword [ebp*4 + 0x59179ca8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov edx, esp
mov dword [esp + 0x70], esp
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.5909bff0
lea eax, [esp + 0x44]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900abf0
add esp, 8
mov eax, dword [esp + 0x40]
mov byte [esp + 0x78], 0x11
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f81d
push 0xfde9
push eax
lea ecx, [esp + 0x24]
call fcn.590a35e0
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.5900b5b0
add esp, 8
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x1c]
push eax
mov byte [esp + 0x7c], 0x12
call fcn.5909f310
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 0x11
call fcn.5909f180
lea ecx, [esp + 0x40]
mov byte [esp + 0x78], 9
call fcn.59099e00
xor ebp, ebp
mov esi, 0x59179cac
mov edx, dword [esi]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x84]
push ecx
push edx
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5900f867
add esi, 4
inc ebp
cmp esi, 0x59179cb0
jb 0x5900f832
jmp 0x5900f8ff
mov edi, dword [ebp*4 + 0x59179cac]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov edx, esp
mov dword [esp + 0x70], esp
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.5909bff0
lea eax, [esp + 0x4c]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900abf0
add esp, 8
mov eax, dword [esp + 0x48]
mov byte [esp + 0x78], 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f8f1
push 0xfde9
push eax
lea ecx, [esp + 0x20]
call fcn.590a35e0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.5900b5b0
add esp, 8
lea eax, [esp + 0x44]
lea ecx, [esp + 0x18]
push eax
mov byte [esp + 0x7c], 0x15
call fcn.5909f310
lea ecx, [esp + 0x44]
mov byte [esp + 0x78], 0x14
call fcn.5909f180
lea ecx, [esp + 0x48]
mov byte [esp + 0x78], 9
call fcn.59099e00
xor ebp, ebp
mov esi, 0x59179cb0
mov edx, dword [esi]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x84]
push ecx
push edx
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5900f93b
add esi, 4
inc ebp
cmp esi, 0x59179cb4
jb 0x5900f906
jmp 0x5900f9d3
mov edi, dword [ebp*4 + 0x59179cb0]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov edx, esp
mov dword [esp + 0x70], esp
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.5909bff0
lea eax, [esp + 0x54]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900abf0
add esp, 8
mov eax, dword [esp + 0x50]
mov byte [esp + 0x78], 0x17
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f9c5
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.590a35e0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x4c]
push ecx
push edx
call fcn.5900b5b0
add esp, 8
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x14]
push eax
mov byte [esp + 0x7c], 0x18
call fcn.5909f310
lea ecx, [esp + 0x4c]
mov byte [esp + 0x78], 0x17
call fcn.5909f180
lea ecx, [esp + 0x50]
mov byte [esp + 0x78], 9
call fcn.59099e00
xor ebp, ebp
mov esi, 0x59179ca0
mov edx, dword [esi]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x84]
push ecx
push edx
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5900fa0f
add esi, 4
inc ebp
cmp esi, 0x59179ca4
jb 0x5900f9da
jmp 0x5900faa7
mov edi, dword [ebp*4 + 0x59179ca0]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov edx, esp
mov dword [esp + 0x70], esp
push ecx
push edx
lea ecx, [esp + 0x8c]
call fcn.5909bff0
lea eax, [esp + 0x5c]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900abf0
add esp, 8
mov eax, dword [esp + 0x58]
mov byte [esp + 0x78], 0x1a
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900fa99
push 0xfde9
push eax
lea ecx, [esp + 0x18]
call fcn.590a35e0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.5900b5b0
add esp, 8
lea eax, [esp + 0x54]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0x7c], 0x1b
call fcn.5909f310
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 0x1a
call fcn.5909f180
lea ecx, [esp + 0x58]
mov byte [esp + 0x78], 9
call fcn.59099e00
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x60]
push ecx
push 0x5917a4c4
push edx
lea ecx, [esp + 0x30]
call fcn.5907afc0
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x7c], 0x1c
call fcn.59099f80
lea ecx, [esp + 0x60]
mov byte [esp + 0x78], 9
call fcn.59099e00
mov ebp, dword [esp + 0x80]
mov eax, dword [ebp - 8]
test eax, eax
jne 0x5900f5a4
or ebx, 0xffffffff
mov eax, dword [esp + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900fb40
xor esi, esi
test ecx, ecx
jle 0x5900fb2f
mov ax, word [eax + esi*2]
push eax
call fcn.59082720
add esp, 4
test eax, eax
je 0x5900fb28
mov eax, dword [esp + 0x84]
inc esi
cmp esi, dword [eax - 8]
jl 0x5900fb08
jmp 0x5900fb2f
mov eax, dword [esp + 0x84]
cmp esi, dword [eax - 8]
jne 0x5900fb40
lea ecx, [esp + 0x84]
call fcn.5909eef0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5900fbd7
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5900fbd7
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
jne 0x5900fbd7
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5900fbd7
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5900fbd7
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 8
call fcn.5909f180
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 7
call fcn.5909f180
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 6
call fcn.5909f180
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 5
call fcn.5909f180
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 3
call fcn.5909f180
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59099e00
jmp 0x5900fd52
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5900fc44
mov dword [eax], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 8
call fcn.5909f180
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 7
call fcn.5909f180
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 6
call fcn.5909f180
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 5
call fcn.5909f180
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 3
call fcn.5909f180
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59099e00
jmp 0x5900fd52
lea edx, [esp + 0x28]
push 0
push edx
call fcn.590543e0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push 1
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
mov byte [esp + 0xac], 0x1f
call fcn.5900c0f0
add esp, 0x34
test eax, eax
je 0x5900fced
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
push edi
push esi
push ecx
call fcn.5900bee0
add esp, 0xc
test eax, eax
je 0x5900fced
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push 2
push 1
push edx
push edi
push esi
call fcn.5900e1b0
add esp, 0x44
lea ecx, [esp + 0x28]
mov byte [esp + 0x78], 9
call fcn.59099e00
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 8
call fcn.5909f180
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 7
call fcn.5909f180
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 6
call fcn.5909f180
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 5
call fcn.5909f180
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 3
call fcn.5909f180
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59099e00
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.59099e00
lea ecx, [esp + 0x84]
mov dword [esp + 0x78], ebx
call fcn.5909f180
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x6c
ret