Function at 0x405970
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5a3faf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push esi
push edi
mov dword [esp + 0xc], 0
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x24]
push eax
call fcn.00574069
mov ecx, dword [esp + 0x30]
mov esi, eax
push ecx
mov edi, edx
call fcn.00574069
mov ecx, dword [0x628100]
add esp, 8
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x18], 3
add ecx, 0xfffffffc
cmp ecx, 0xf
ja case.default.0x4059d4
jmp dword [ecx*4 + 0x405c40]
cmp esi, eax
jne 0x405b8f
cmp edi, edx
jne 0x405b8f
mov eax, 1
jmp 0x405b91
cmp edi, edx
jl 0x405a1c
jg 0x4059ff
cmp esi, eax
jbe 0x405a1c
mov eax, 1
push eax
lea eax, [esp + 0xc]
push 0x601600
push eax
call fcn.0058c6ce
add esp, 0xc
jmp 0x405be7
xor eax, eax
push eax
lea eax, [esp + 0xc]
push 0x601600
push eax
call fcn.0058c6ce
add esp, 0xc
jmp 0x405be7
cmp edi, edx
jg 0x405a48
jl 0x405b6a
cmp esi, eax
jb 0x405b6a
xor eax, eax
jmp 0x405b6f
cmp edi, edx
jl 0x405b8f
jg 0x405a61
cmp esi, eax
jb 0x405b8f
mov eax, 1
jmp 0x405b91
cmp edi, edx
jg 0x405a1c
jl 0x405a75
cmp esi, eax
ja 0x405a1c
mov eax, 1
jmp 0x405a1e
cmp esi, eax
jne 0x405b6a
cmp edi, edx
jne 0x405b6a
xor eax, eax
jmp 0x405b6f
add eax, esi
adc edx, edi
push edx
push eax
lea edx, [esp + 0x10]
push 0x601600
push edx
call fcn.0058c6ce
add esp, 0x10
jmp 0x405be7
sub esi, eax
lea eax, [esp + 8]
sbb edi, edx
push edi
push esi
push 0x601600
push eax
call fcn.0058c6ce
add esp, 0x10
jmp 0x405be7
push edi
push esi
push edx
push eax
call fcn.00574350
push edx
push eax
jmp 0x405bc5
mov ecx, eax
or ecx, edx
je case.default.0x4059d4
push edx
push eax
push edi
push esi
call fcn.005742a0
push edx
push eax
lea edx, [esp + 0x10]
push 0x601600
push edx
call fcn.0058c6ce
add esp, 0x10
jmp 0x405be7
mov ecx, eax
or ecx, edx
je case.default.0x4059d4
push edx
push eax
push edi
push esi
call fcn.005741e0
push edx
push eax
lea edx, [esp + 0x10]
push 0x601600
push edx
call fcn.0058c6ce
add esp, 0x10
jmp 0x405be7
or esi, edi
je 0x405b44
or eax, edx
je 0x405b44
mov eax, 1
jmp 0x405b46
xor eax, eax
push eax
lea eax, [esp + 0xc]
push 0x601600
push eax
call fcn.0058c6ce
add esp, 0xc
jmp 0x405be7
or esi, edi
jne 0x405b6a
or eax, edx
jne 0x405b6a
xor eax, eax
jmp 0x405b6f
mov eax, 1
push eax
lea ecx, [esp + 0xc]
push 0x601600
push ecx
call fcn.0058c6ce
add esp, 0xc
jmp 0x405be7
or esi, edi
jne 0x405b8f
mov eax, 1
jmp 0x405b91
xor eax, eax
push eax
lea edx, [esp + 0xc]
push 0x601600
push edx
call fcn.0058c6ce
add esp, 0xc
jmp 0x405be7
neg esi
adc edi, 0
lea eax, [esp + 8]
neg edi
push edi
push esi
push 0x601600
push eax
call fcn.0058c6ce
add esp, 0x10
jmp 0x405be7
push edi
push esi
lea ecx, [esp + 0x10]
push 0x601600
push ecx
call fcn.0058c6ce
add esp, 0x10
jmp 0x405be7
lea ecx, [esp + 8]
push 0x601568
call fcn.0058f868
mov esi, dword [esp + 0x20]
lea edx, [esp + 8]
push edx
mov ecx, esi
call fcn.0058f454
mov dword [esp + 0xc], 1
lea ecx, [esp + 8]
mov byte [esp + 0x18], 2
call fcn.0058f6df
lea ecx, [esp + 0x24]
mov byte [esp + 0x18], 1
call fcn.0058f6df
lea ecx, [esp + 0x2c]
mov byte [esp + 0x18], 0
call fcn.0058f6df
mov ecx, dword [esp + 0x10]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret 0x10