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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x59139be8
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 0x5900f28a
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 0x5900fc00
test ebp, ebp
je 0x5900fc00
mov edi, 0x59173d08
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x59173d08
push ebp
push esi
call fcn.5900cfc0
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
mov dword [esp + 0x2c], ebx
je 0x5900fc00
mov edi, 0x59173d08
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 0x5900f328
mov ecx, dword [esp + 0x2c]
mov eax, ebp
sub eax, ecx
mov dword [esp + 0x58], eax
mov edi, 0x59173d08
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 0x5900f328
mov al, byte [ebx + edx + 1]
inc ebx
cmp al, 0xd
jne 0x5900f306
mov edi, 0x59173d08
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 0x5900fc00
test ebx, ebx
jle 0x5900fc00
mov eax, dword [0x5914f850]
mov dword [esp + 0x84], eax
push 0x59173d00
push ebp
push esi
mov dword [esp + 0x84], 0
call fcn.5900f220
mov edx, eax
or ebx, 0xffffffff
add esp, 0xc
cmp edx, ebx
je 0x5900fbf0
mov edi, 0x59173d00
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.59094b40
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x80]
push ecx
push 0x59173390
mov byte [esp + 0x80], 2
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x68], 0
call fcn.59076280
mov ebp, dword [esp + 0x80]
mov byte [esp + 0x78], 3
mov eax, dword [ebp - 8]
test eax, eax
jne 0x5900f3f7
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59095090
jmp 0x5900fbe2
mov eax, dword [0x5914f850]
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 0x5900f984
xor ebx, ebx
mov esi, 0x59172b6c
jmp 0x5900f444
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.59089490
add esp, 0xc
test eax, eax
je 0x5900f472
add esi, 4
inc ebx
cmp esi, 0x59172b70
jb 0x5900f43d
jmp 0x5900f50a
mov edi, dword [ebx*4 + 0x59172b6c]
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.59097280
lea ecx, [esp + 0x34]
mov byte [esp + 0x7c], 9
push ecx
call fcn.5900aa80
add esp, 8
mov eax, dword [esp + 0x30]
mov byte [esp + 0x78], 0xb
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f4fc
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.5909e870
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.5900b440
add esp, 8
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 0xc
push ecx
lea ecx, [esp + 0x24]
call fcn.5909a5a0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 0xb
call fcn.5909a410
lea ecx, [esp + 0x30]
mov byte [esp + 0x78], 9
call fcn.59095090
xor ebp, ebp
mov esi, 0x59172b74
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.59089490
add esp, 0xc
test eax, eax
je 0x5900f546
add esi, 4
inc ebp
cmp esi, 0x59172b78
jb 0x5900f511
jmp 0x5900f5e7
mov edi, dword [ebp*4 + 0x59172b74]
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.59097280
lea eax, [esp + 0x3c]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900aa80
add esp, 8
mov eax, dword [esp + 0x38]
mov byte [esp + 0x78], 0xe
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f5d9
push 0xfde9
push eax
lea ecx, [esp + 0x8c]
call fcn.5909e870
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x34]
push ecx
push edx
call fcn.5900b440
add esp, 8
lea eax, [esp + 0x34]
lea ecx, [esp + 0x84]
push eax
mov byte [esp + 0x7c], 0xf
call fcn.5909a5a0
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0xe
call fcn.5909a410
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 9
call fcn.59095090
xor ebp, ebp
mov esi, 0x59172b78
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.59089490
add esp, 0xc
test eax, eax
je 0x5900f623
add esi, 4
inc ebp
cmp esi, 0x59172b7c
jb 0x5900f5ee
jmp 0x5900f6bb
mov edi, dword [ebp*4 + 0x59172b78]
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.59097280
lea eax, [esp + 0x44]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900aa80
add esp, 8
mov eax, dword [esp + 0x40]
mov byte [esp + 0x78], 0x11
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f6ad
push 0xfde9
push eax
lea ecx, [esp + 0x24]
call fcn.5909e870
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.5900b440
add esp, 8
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x1c]
push eax
mov byte [esp + 0x7c], 0x12
call fcn.5909a5a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 0x11
call fcn.5909a410
lea ecx, [esp + 0x40]
mov byte [esp + 0x78], 9
call fcn.59095090
xor ebp, ebp
mov esi, 0x59172b7c
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.59089490
add esp, 0xc
test eax, eax
je 0x5900f6f7
add esi, 4
inc ebp
cmp esi, 0x59172b80
jb 0x5900f6c2
jmp 0x5900f78f
mov edi, dword [ebp*4 + 0x59172b7c]
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.59097280
lea eax, [esp + 0x4c]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900aa80
add esp, 8
mov eax, dword [esp + 0x48]
mov byte [esp + 0x78], 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f781
push 0xfde9
push eax
lea ecx, [esp + 0x20]
call fcn.5909e870
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.5900b440
add esp, 8
lea eax, [esp + 0x44]
lea ecx, [esp + 0x18]
push eax
mov byte [esp + 0x7c], 0x15
call fcn.5909a5a0
lea ecx, [esp + 0x44]
mov byte [esp + 0x78], 0x14
call fcn.5909a410
lea ecx, [esp + 0x48]
mov byte [esp + 0x78], 9
call fcn.59095090
xor ebp, ebp
mov esi, 0x59172b80
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.59089490
add esp, 0xc
test eax, eax
je 0x5900f7cb
add esi, 4
inc ebp
cmp esi, 0x59172b84
jb 0x5900f796
jmp 0x5900f863
mov edi, dword [ebp*4 + 0x59172b80]
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.59097280
lea eax, [esp + 0x54]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900aa80
add esp, 8
mov eax, dword [esp + 0x50]
mov byte [esp + 0x78], 0x17
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f855
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.5909e870
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x4c]
push ecx
push edx
call fcn.5900b440
add esp, 8
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x14]
push eax
mov byte [esp + 0x7c], 0x18
call fcn.5909a5a0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x78], 0x17
call fcn.5909a410
lea ecx, [esp + 0x50]
mov byte [esp + 0x78], 9
call fcn.59095090
xor ebp, ebp
mov esi, 0x59172b70
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.59089490
add esp, 0xc
test eax, eax
je 0x5900f89f
add esi, 4
inc ebp
cmp esi, 0x59172b74
jb 0x5900f86a
jmp 0x5900f937
mov edi, dword [ebp*4 + 0x59172b70]
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.59097280
lea eax, [esp + 0x5c]
mov byte [esp + 0x7c], 9
push eax
call fcn.5900aa80
add esp, 8
mov eax, dword [esp + 0x58]
mov byte [esp + 0x78], 0x1a
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f929
push 0xfde9
push eax
lea ecx, [esp + 0x18]
call fcn.5909e870
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.5900b440
add esp, 8
lea eax, [esp + 0x54]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0x7c], 0x1b
call fcn.5909a5a0
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 0x1a
call fcn.5909a410
lea ecx, [esp + 0x58]
mov byte [esp + 0x78], 9
call fcn.59095090
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x60]
push ecx
push 0x59173390
push edx
lea ecx, [esp + 0x30]
call fcn.59076280
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x7c], 0x1c
call fcn.59095210
lea ecx, [esp + 0x60]
mov byte [esp + 0x78], 9
call fcn.59095090
mov ebp, dword [esp + 0x80]
mov eax, dword [ebp - 8]
test eax, eax
jne 0x5900f434
or ebx, 0xffffffff
mov eax, dword [esp + 0x84]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5900f9d0
xor esi, esi
test ecx, ecx
jle 0x5900f9bf
mov ax, word [eax + esi*2]
push eax
call fcn.5907d9b0
add esp, 4
test eax, eax
je 0x5900f9b8
mov eax, dword [esp + 0x84]
inc esi
cmp esi, dword [eax - 8]
jl 0x5900f998
jmp 0x5900f9bf
mov eax, dword [esp + 0x84]
cmp esi, dword [eax - 8]
jne 0x5900f9d0
lea ecx, [esp + 0x84]
call fcn.5909a180
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5900fa67
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5900fa67
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
jne 0x5900fa67
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5900fa67
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5900fa67
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 8
call fcn.5909a410
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 7
call fcn.5909a410
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 6
call fcn.5909a410
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 5
call fcn.5909a410
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 3
call fcn.5909a410
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59095090
jmp 0x5900fbe2
mov eax, dword [esp + 0x88]
test eax, eax
je 0x5900fad4
mov dword [eax], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 8
call fcn.5909a410
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 7
call fcn.5909a410
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 6
call fcn.5909a410
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 5
call fcn.5909a410
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 3
call fcn.5909a410
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59095090
jmp 0x5900fbe2
lea edx, [esp + 0x28]
push 0
push edx
call fcn.5904fff0
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.5900bf80
add esp, 0x34
test eax, eax
je 0x5900fb7d
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
push edi
push esi
push ecx
call fcn.5900bd70
add esp, 0xc
test eax, eax
je 0x5900fb7d
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.5900e040
add esp, 0x44
lea ecx, [esp + 0x28]
mov byte [esp + 0x78], 9
call fcn.59095090
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 8
call fcn.5909a410
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 7
call fcn.5909a410
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 6
call fcn.5909a410
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 5
call fcn.5909a410
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 3
call fcn.5909a410
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 2
call fcn.59095090
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.59095090
lea ecx, [esp + 0x84]
mov dword [esp + 0x78], ebx
call fcn.5909a410
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x6c
ret