Function at 0x605990
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x712c1c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov eax, dword [esp + 0x30]
mov dl, byte [esp + 0x30]
push ebx
push ebp
mov ebp, ecx
push esi
mov ecx, dword [esp + 0x38]
push edi
mov dword [ebp], eax
lea esi, [ebp + 8]
xor eax, eax
mov dword [ebp + 4], ecx
mov dword [esp + 0x1c], ebp
mov byte [esi], dl
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov cl, byte [esp + 0x40]
lea edi, [ebp + 0x18]
mov dword [esp + 0x34], eax
mov byte [edi], cl
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dl, byte [esp + 0x40]
mov dword [ebp + 0x2c], eax
mov byte [ebp + 0x28], dl
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], eax
mov cl, byte [esp + 0x40]
mov dword [ebp + 0x3c], eax
mov byte [ebp + 0x38], cl
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x44], eax
mov ebx, dword [ebp]
mov ecx, esi
add ebx, 4
mov byte [esp + 0x34], 3
mov dword [esp + 0x18], ebx
mov edx, dword [ebx + 8]
mov dword [esp + 0x3c], edx
call fcn.005c4c40
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jae 0x605a94
test ecx, ecx
mov eax, ecx
jge 0x605a37
xor eax, eax
shl eax, 3
push eax
call fcn.00652710
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
add esp, 4
mov dword [esp + 0x10], eax
push eax
push ecx
push edx
mov ecx, esi
call fcn.00607b20
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
mov ecx, esi
call fcn.00607af0
mov eax, dword [esi + 4]
push eax
call fcn.00652870
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
add esp, 4
lea ecx, [edx + eax*8]
mov dword [esi + 0xc], ecx
mov ecx, esi
call fcn.005c79a0
mov ecx, dword [esp + 0x10]
mov dword [esi + 4], ecx
lea edx, [ecx + eax*8]
mov dword [esi + 8], edx
mov eax, dword [ebx + 8]
mov ecx, edi
mov dword [esp + 0x3c], eax
call fcn.005c4c40
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jae 0x605b13
test ecx, ecx
mov eax, ecx
jge 0x605ab2
xor eax, eax
lea ecx, [eax*8]
push ecx
call fcn.00652710
mov edx, dword [edi + 8]
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, edi
push eax
mov eax, dword [edi + 4]
push edx
push eax
call fcn.00607b20
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
push ecx
push edx
mov ecx, edi
call fcn.00607af0
mov eax, dword [edi + 4]
push eax
call fcn.00652870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
add esp, 4
lea edx, [eax + ecx*8]
mov ecx, edi
mov dword [edi + 0xc], edx
call fcn.005c79a0
mov ecx, dword [esp + 0x10]
mov dword [edi + 4], ecx
lea eax, [ecx + eax*8]
mov dword [edi + 8], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
je 0x605c1b
mov ecx, dword [0x81e354]
mov edx, dword [0x81e350]
push ecx
push edx
push 0
lea ecx, [esp + 0x4c]
call fcn.00607660
push ecx
mov edx, 0x605d50
mov ebx, esp
mov dword [esp + 0x4c], esp
push ecx
mov ebp, eax
mov ecx, esp
mov dword [esp + 0x50], esp
call fcn.00607cb0
mov ecx, ebx
mov edx, ebp
call fcn.00607d00
lea ecx, [esp + 0x20]
call fcn.006016a0
mov ecx, dword [esi + 8]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x3c], 4
call fcn.006076c0
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x34], 3
mov dword [esp + 0x10], vtable.t_abstract_cache_class_t_abstract_bitmap_unsigned_short_int__.0
call fcn.00403170
mov eax, dword [0x81e354]
mov ecx, dword [0x81e350]
push eax
push ecx
push 1
lea ecx, [esp + 0x4c]
call fcn.00607660
push ecx
mov edx, 0x605d50
mov ebx, esp
mov dword [esp + 0x4c], esp
push ecx
mov ebp, eax
mov ecx, esp
mov dword [esp + 0x50], esp
call fcn.00607cb0
mov ecx, ebx
mov edx, ebp
call fcn.00607d00
lea ecx, [esp + 0x30]
call fcn.006016a0
mov ecx, dword [edi + 8]
push eax
push ecx
mov ecx, edi
mov byte [esp + 0x3c], 5
call fcn.006076c0
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x34], 3
mov dword [esp + 0x20], vtable.t_abstract_cache_class_t_abstract_bitmap_unsigned_short_int__.0
call fcn.00403170
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x40], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jne 0x605b27
mov ebp, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x28], edx
mov eax, dword [ebp + 0x2c]
mov edi, dword [ebx + 8]
lea esi, [ebp + 0x28]
cmp eax, edx
mov byte [esp + 0x34], 6
je 0x605c48
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, edi
jae 0x605c70
mov ecx, dword [esi + 8]
lea edx, [esp + 0x20]
mov dword [esp + 0x3c], ecx
push edx
mov ecx, esi
call fcn.00456130
sub edi, eax
mov eax, dword [esp + 0x40]
push edi
push eax
mov ecx, esi
call fcn.004a2870
jmp 0x605c90
mov ecx, esi
call fcn.00456130
cmp edi, eax
jae 0x605c90
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
lea edx, [edi + edi*2]
push eax
lea eax, [ecx + edx*4]
mov ecx, esi
push eax
call fcn.00607b60
mov ecx, dword [esp + 0x28]
xor esi, esi
cmp ecx, esi
mov byte [esp + 0x34], 3
je 0x605ccc
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x20]
cmp eax, edx
jne 0x605cbb
cmp ecx, esi
mov dword [esp + 0x28], esi
je 0x605ccc
mov eax, dword [ecx]
push 1
call dword [eax]
jmp 0x605ccc
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov dword [esp + 0x28], esi
mov ebx, dword [ebx + 8]
lea esi, [ebp + 0x38]
mov ecx, esi
mov byte [esp + 0x34], 7
call fcn.00456130
cmp eax, ebx
jae 0x605d02
mov edi, dword [esi + 8]
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.00456130
sub ebx, eax
mov ecx, esi
push ebx
push edi
call fcn.004a2870
jmp 0x605d22
mov ecx, esi
call fcn.00456130
cmp ebx, eax
jae 0x605d22
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
lea edx, [ebx + ebx*2]
push eax
lea eax, [ecx + edx*4]
mov ecx, esi
push eax
call fcn.00607b60
lea ecx, [esp + 0x20]
mov byte [esp + 0x34], 3
call fcn.005f0280
mov ecx, dword [esp + 0x2c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x28
ret 8