Function at 0x5c0043cf
Capabilities:
Check for software breakpoints
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [0x5c066124]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
mov esi, ebx
mov edx, dword [esi + 0x5c002d80]
mov ecx, edx
sar ecx, 5
and edx, 0x1f
add esi, 4
mov eax, dword [edi + ecx*4 + 0x31b0]
bts eax, edx
mov dword [edi + ecx*4 + 0x31b0], eax
cmp esi, 0x144
jb 0x5c0043e9
mov esi, ebx
mov edx, dword [esi + 0x5c002cb0]
mov ecx, edx
sar ecx, 5
and edx, 0x1f
add esi, 4
mov eax, dword [edi + ecx*4 + 0x31d0]
bts eax, edx
mov dword [edi + ecx*4 + 0x31d0], eax
cmp esi, 0xcc
jb 0x5c004415
push 0x400
push 0xff
push dword [edi + 0x2998]
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x2998]
add esp, 0xc
xor esi, esi
mov ecx, edi
inc esi
mov dword [eax + 0x34], ebx
mov eax, dword [edi + 0x2998]
push esi
push 4
mov dword [eax + 0xe8], ebx
mov eax, dword [edi + 0x2998]
mov dword [eax + 0xec], ebx
mov eax, dword [edi + 0x2998]
mov dword [eax + 0xf0], ebx
call fcn.5c009c5b
push ebx
push 0x1d
mov ecx, edi
call fcn.5c009c5b
push dword [ebp + 8]
mov ecx, edi
push 7
call fcn.5c009c5b
push 3
push 8
mov ecx, edi
call fcn.5c009c5b
push 2
push 9
mov ecx, edi
call fcn.5c009c5b
xor eax, eax
mov ecx, edi
push eax
push 0xa
mov dword [ebp - 8], eax
call fcn.5c009c5b
push esi
push 0xe
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0xf
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x10
mov ecx, edi
call fcn.5c009c5b
push 2
push 0x13
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x14
mov ecx, edi
call fcn.5c009c5b
push 3
push 0x16
mov ecx, edi
call fcn.5c009c5b
push 4
push 0x17
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x18
mov ecx, edi
call fcn.5c009c5b
push 8
push 0x19
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x1a
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x1c
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x1e
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x21
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x22
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x23
mov ecx, edi
call fcn.5c009c5b
fldz
mov ecx, edi
fstp dword [ebp - 8]
push dword [ebp - 8]
push 0x24
call fcn.5c009c5b
fld1
mov ecx, edi
fstp dword [ebp - 8]
push dword [ebp - 8]
push 0x25
call fcn.5c009c5b
fld1
mov ecx, edi
fstp dword [ebp - 8]
push dword [ebp - 8]
push 0x26
call fcn.5c009c5b
push ebx
push 0x29
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x1b
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x2f
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x30
mov ecx, edi
call fcn.5c009c5b
cmp dword [edi + 0x2284], 4
jge 0x5c004774
push ebx
push 0x27
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0xb
mov ecx, edi
call fcn.5c009c5b
push 0xd
push 0xc
mov ecx, edi
call fcn.5c009c5b
push 0xffffffffffffffff
push 0xd
mov ecx, edi
call fcn.5c009c5b
push ebx
push 5
mov ecx, edi
call fcn.5c009c5b
push ebx
push 6
mov ecx, edi
call fcn.5c009c5b
push ebx
push 2
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x1f
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x20
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x28
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x40
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x41
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x42
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x43
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x44
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x45
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x46
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x47
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x48
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x49
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x4a
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x4b
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x4c
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x4d
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x4e
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x4f
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x50
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x51
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x52
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x53
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x54
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x55
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x56
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x57
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x58
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x59
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x5a
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x5b
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x5c
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x5d
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x5e
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x5f
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x34
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x35
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x36
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x37
mov ecx, edi
call fcn.5c009c5b
push 8
push 0x38
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x39
mov ecx, edi
call fcn.5c009c5b
push 0xffffffffffffffff
push 0x3a
mov ecx, edi
call fcn.5c009c5b
push 0xffffffffffffffff
push 0x3b
mov ecx, edi
call fcn.5c009c5b
push 0xffffffffffffffff
push 0x3c
mov ecx, edi
call fcn.5c009c5b
mov esi, ebx
push ebx
lea eax, [esi + 0x80]
mov ecx, edi
push eax
call fcn.5c009c5b
inc esi
cmp esi, 8
jb 0x5c0047d4
push 8
lea eax, [edi + 0x2958]
pop ecx
mov dword [eax - 0x20], ebx
mov dword [eax], ebx
lea eax, [eax + 4]
sub ecx, 1
jne 0x5c0047f2
push 0x800
lea eax, [edi + 0x299c]
mov dword [edi + 0x297c], ebx
push 0xff
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [edi]
push 0
push ebx
push edi
mov esi, dword [eax + 0x8c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov eax, dword [edi]
mov esi, dword [eax + 0x94]
mov ecx, esi
test ebx, ebx
jne 0x5c004849
push 4
push 1
push ebx
jmp 0x5c00484e
push 1
push 1
push ebx
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 2
push 2
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 3
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov eax, dword [edi]
mov esi, dword [eax + 0x94]
mov ecx, esi
test ebx, ebx
jne 0x5c00489c
push 2
push 4
push ebx
jmp 0x5c0048a1
push 1
push 4
push ebx
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 2
push 5
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 6
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 7
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 8
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 9
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0xa
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0xb
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 0xc
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 0xd
push ebx
mov esi, dword [esi + 0x94]
push edi
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 0xe
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0xf
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 0x10
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 0x11
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 0x12
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0x13
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0x14
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 1
push 0x15
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0x16
push ebx
mov esi, dword [esi + 0x94]
push edi
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0x17
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
mov esi, dword [edi]
push 0
push 0x18
push ebx
mov esi, dword [esi + 0x94]
mov ecx, esi
push edi
call dword [0x5c06a150]
call esi
inc ebx
cmp ebx, 8
jb 0x5c00481e
xor ebx, ebx
mov ecx, edi
push ebx
push 0x8b
call fcn.5c009c5b
xor esi, esi
mov ecx, edi
inc esi
push esi
push 0x8d
call fcn.5c009c5b
push ebx
push 0x8c
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x88
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x89
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x8a
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x8f
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x8e
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x90
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x94
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x93
mov ecx, edi
call fcn.5c009c5b
push esi
push 0x91
mov ecx, edi
call fcn.5c009c5b
push 2
push 0x92
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x97
mov ecx, edi
call fcn.5c009c5b
push ebx
push 0x98
mov ecx, edi
call fcn.5c009c5b
mov edi, dword [edi + 0x2288]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
test dword [eax + 0x14], 0x800000
je 0x5c004bc5
mov edi, dword [edi + 0x14]
jmp 0x5c004bc1
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test byte [eax + 0x34], 0x10
je 0x5c004bbe
mov eax, dword [edi]
push dword [edi + 0xbc]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x5c06a150]
mov ecx, edi
call esi
test eax, eax
jne 0x5c004bc7
mov eax, dword [edi]
push dword [edi + 0xc8]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x5c06a150]
mov ecx, edi
call esi
test eax, eax
jne 0x5c004bc7
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x5c004b7a
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.5c04fcf0
mov esp, ebp
pop ebp
ret 4