Function at 0x405a20
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x602a6f
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.005cf419
mov ecx, dword [esp + 0x30]
mov esi, eax
push ecx
mov edi, edx
call fcn.005cf419
mov ecx, dword [0x69cfe8]
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.0x405a84
jmp dword [ecx*4 + 0x405cf0]
cmp esi, eax
jne 0x405c3f
cmp edi, edx
jne 0x405c3f
mov eax, 1
jmp 0x405c41
cmp edi, edx
jl 0x405acc
jg 0x405aaf
cmp esi, eax
jbe 0x405acc
mov eax, 1
push eax
lea eax, [esp + 0xc]
push 0x673660
push eax
call fcn.005e7f5e
add esp, 0xc
jmp 0x405c97
xor eax, eax
push eax
lea eax, [esp + 0xc]
push 0x673660
push eax
call fcn.005e7f5e
add esp, 0xc
jmp 0x405c97
cmp edi, edx
jg 0x405af8
jl 0x405c1a
cmp esi, eax
jb 0x405c1a
xor eax, eax
jmp 0x405c1f
cmp edi, edx
jl 0x405c3f
jg 0x405b11
cmp esi, eax
jb 0x405c3f
mov eax, 1
jmp 0x405c41
cmp edi, edx
jg 0x405acc
jl 0x405b25
cmp esi, eax
ja 0x405acc
mov eax, 1
jmp 0x405ace
cmp esi, eax
jne 0x405c1a
cmp edi, edx
jne 0x405c1a
xor eax, eax
jmp 0x405c1f
add eax, esi
adc edx, edi
push edx
push eax
lea edx, [esp + 0x10]
push 0x673660
push edx
call fcn.005e7f5e
add esp, 0x10
jmp 0x405c97
sub esi, eax
lea eax, [esp + 8]
sbb edi, edx
push edi
push esi
push 0x673660
push eax
call fcn.005e7f5e
add esp, 0x10
jmp 0x405c97
push edi
push esi
push edx
push eax
call fcn.005cf700
push edx
push eax
jmp 0x405c75
mov ecx, eax
or ecx, edx
je case.default.0x405a84
push edx
push eax
push edi
push esi
call fcn.005cf650
push edx
push eax
lea edx, [esp + 0x10]
push 0x673660
push edx
call fcn.005e7f5e
add esp, 0x10
jmp 0x405c97
mov ecx, eax
or ecx, edx
je case.default.0x405a84
push edx
push eax
push edi
push esi
call fcn.005cf590
push edx
push eax
lea edx, [esp + 0x10]
push 0x673660
push edx
call fcn.005e7f5e
add esp, 0x10
jmp 0x405c97
or esi, edi
je 0x405bf4
or eax, edx
je 0x405bf4
mov eax, 1
jmp 0x405bf6
xor eax, eax
push eax
lea eax, [esp + 0xc]
push 0x673660
push eax
call fcn.005e7f5e
add esp, 0xc
jmp 0x405c97
or esi, edi
jne 0x405c1a
or eax, edx
jne 0x405c1a
xor eax, eax
jmp 0x405c1f
mov eax, 1
push eax
lea ecx, [esp + 0xc]
push 0x673660
push ecx
call fcn.005e7f5e
add esp, 0xc
jmp 0x405c97
or esi, edi
jne 0x405c3f
mov eax, 1
jmp 0x405c41
xor eax, eax
push eax
lea edx, [esp + 0xc]
push 0x673660
push edx
call fcn.005e7f5e
add esp, 0xc
jmp 0x405c97
neg esi
adc edi, 0
lea eax, [esp + 8]
neg edi
push edi
push esi
push 0x673660
push eax
call fcn.005e7f5e
add esp, 0x10
jmp 0x405c97
push edi
push esi
lea ecx, [esp + 0x10]
push 0x673660
push ecx
call fcn.005e7f5e
add esp, 0x10
jmp 0x405c97
push 0x6735cc
lea ecx, [esp + 0xc]
call fcn.005ebb6a
mov esi, dword [esp + 0x20]
lea edx, [esp + 8]
push edx
mov ecx, esi
call fcn.005eb756
mov dword [esp + 0xc], 1
lea ecx, [esp + 8]
mov byte [esp + 0x18], 2
call fcn.005eb9e1
lea ecx, [esp + 0x24]
mov byte [esp + 0x18], 1
call fcn.005eb9e1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x18], 0
call fcn.005eb9e1
mov ecx, dword [esp + 0x10]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret 0x10