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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, ecx
xor edx, edx
push ebx
mov ecx, dword [edx + 0x7141cc90]
xor ebx, ebx
mov eax, ecx
and ecx, 0x1f
inc ebx
shl ebx, cl
sar eax, 5
lea eax, [esi + eax*4 + 0x31b0]
add edx, 4
or dword [eax], ebx
cmp edx, 0x144
jb 0x7141c5ba
xor edx, edx
mov ecx, dword [edx + 0x7141cdd8]
xor ebx, ebx
mov eax, ecx
and ecx, 0x1f
inc ebx
shl ebx, cl
sar eax, 5
lea eax, [esi + eax*4 + 0x31d0]
add edx, 4
or dword [eax], ebx
cmp edx, 0xcc
jb 0x7141c5e3
push 0x400
mov ebx, 0xff
push ebx
push dword [esi + 0x2998]
call sub.msvcrt.dll_memset
mov eax, dword [esi + 0x2998]
mov dword [eax + 0x34], edi
mov eax, dword [esi + 0x2998]
mov dword [eax + 0xe8], edi
mov eax, dword [esi + 0x2998]
add esp, 0xc
mov dword [eax + 0xec], edi
mov eax, dword [esi + 0x2998]
push 1
push 4
mov ecx, esi
mov dword [eax + 0xf0], edi
call fcn.71423e06
push edi
push 0x1d
mov ecx, esi
call fcn.71423e06
push dword [ebp + 8]
mov ecx, esi
push 7
call fcn.71423e06
push 3
push 8
mov ecx, esi
call fcn.71423e06
push 2
push 9
mov ecx, esi
call fcn.71423e06
xor eax, eax
mov word [ebp + 8], ax
mov word [ebp + 0xa], ax
push dword [ebp + 8]
mov ecx, esi
push 0xa
call fcn.71423e06
push 1
push 0xe
mov ecx, esi
call fcn.71423e06
push edi
push 0xf
mov ecx, esi
call fcn.71423e06
push 1
push 0x10
mov ecx, esi
call fcn.71423e06
push 2
push 0x13
mov ecx, esi
call fcn.71423e06
push 1
push 0x14
mov ecx, esi
call fcn.71423e06
push 3
push 0x16
mov ecx, esi
call fcn.71423e06
push 4
push 0x17
mov ecx, esi
call fcn.71423e06
push edi
push 0x18
mov ecx, esi
call fcn.71423e06
push 8
push 0x19
mov ecx, esi
call fcn.71423e06
push edi
push 0x1a
mov ecx, esi
call fcn.71423e06
push edi
push 0x1c
mov ecx, esi
call fcn.71423e06
push edi
push 0x1e
mov ecx, esi
call fcn.71423e06
push edi
push 0x21
mov ecx, esi
call fcn.71423e06
push edi
push 0x22
mov ecx, esi
call fcn.71423e06
push edi
push 0x23
mov ecx, esi
call fcn.71423e06
fldz
fstp dword [ebp + 8]
mov ecx, esi
push dword [ebp + 8]
push 0x24
call fcn.71423e06
fld1
fstp dword [ebp + 8]
mov ecx, esi
push dword [ebp + 8]
push 0x25
call fcn.71423e06
fld1
fstp dword [ebp + 8]
mov ecx, esi
push dword [ebp + 8]
push 0x26
call fcn.71423e06
push edi
push 0x29
mov ecx, esi
call fcn.71423e06
push edi
push 0x1b
mov ecx, esi
call fcn.71423e06
push edi
push 0x2f
mov ecx, esi
call fcn.71423e06
push edi
push 0x30
mov ecx, esi
call fcn.71423e06
cmp dword [esi + 0x2284], 4
jge 0x7141c948
push edi
push 0x27
mov ecx, esi
call fcn.71423e06
push edi
push 0xb
mov ecx, esi
call fcn.71423e06
push 0xd
push 0xc
mov ecx, esi
call fcn.71423e06
push 0xffffffffffffffff
push 0xd
mov ecx, esi
call fcn.71423e06
push edi
push 5
mov ecx, esi
call fcn.71423e06
push edi
push 6
mov ecx, esi
call fcn.71423e06
push edi
push 2
mov ecx, esi
call fcn.71423e06
push edi
push 0x1f
mov ecx, esi
call fcn.71423e06
push edi
push 0x20
mov ecx, esi
call fcn.71423e06
push edi
push 0x28
mov ecx, esi
call fcn.71423e06
push edi
push 0x40
mov ecx, esi
call fcn.71423e06
push edi
push 0x41
mov ecx, esi
call fcn.71423e06
push edi
push 0x42
mov ecx, esi
call fcn.71423e06
push edi
push 0x43
mov ecx, esi
call fcn.71423e06
push edi
push 0x44
mov ecx, esi
call fcn.71423e06
push edi
push 0x45
mov ecx, esi
call fcn.71423e06
push edi
push 0x46
mov ecx, esi
call fcn.71423e06
push edi
push 0x47
mov ecx, esi
call fcn.71423e06
push edi
push 0x48
mov ecx, esi
call fcn.71423e06
push edi
push 0x49
mov ecx, esi
call fcn.71423e06
push edi
push 0x4a
mov ecx, esi
call fcn.71423e06
push edi
push 0x4b
mov ecx, esi
call fcn.71423e06
push edi
push 0x4c
mov ecx, esi
call fcn.71423e06
push edi
push 0x4d
mov ecx, esi
call fcn.71423e06
push edi
push 0x4e
mov ecx, esi
call fcn.71423e06
push edi
push 0x4f
mov ecx, esi
call fcn.71423e06
push edi
push 0x50
mov ecx, esi
call fcn.71423e06
push edi
push 0x51
mov ecx, esi
call fcn.71423e06
push edi
push 0x52
mov ecx, esi
call fcn.71423e06
push edi
push 0x53
mov ecx, esi
call fcn.71423e06
push edi
push 0x54
mov ecx, esi
call fcn.71423e06
push edi
push 0x55
mov ecx, esi
call fcn.71423e06
push edi
push 0x56
mov ecx, esi
call fcn.71423e06
push edi
push 0x57
mov ecx, esi
call fcn.71423e06
push edi
push 0x58
mov ecx, esi
call fcn.71423e06
push edi
push 0x59
mov ecx, esi
call fcn.71423e06
push edi
push 0x5a
mov ecx, esi
call fcn.71423e06
push edi
push 0x5b
mov ecx, esi
call fcn.71423e06
push edi
push 0x5c
mov ecx, esi
call fcn.71423e06
push edi
push 0x5d
mov ecx, esi
call fcn.71423e06
push edi
push 0x5e
mov ecx, esi
call fcn.71423e06
push edi
push 0x5f
mov ecx, esi
call fcn.71423e06
push edi
push 0x34
mov ecx, esi
call fcn.71423e06
push 1
push 0x35
mov ecx, esi
call fcn.71423e06
push 1
push 0x36
mov ecx, esi
call fcn.71423e06
push 1
push 0x37
mov ecx, esi
call fcn.71423e06
push 8
push 0x38
mov ecx, esi
call fcn.71423e06
push edi
push 0x39
mov ecx, esi
call fcn.71423e06
push 0xffffffffffffffff
push 0x3a
mov ecx, esi
call fcn.71423e06
push 0xffffffffffffffff
push 0x3b
mov ecx, esi
call fcn.71423e06
push 0xffffffffffffffff
push 0x3c
mov ecx, esi
call fcn.71423e06
mov dword [ebp + 8], edi
mov eax, dword [ebp + 8]
push edi
sub eax, 0xffffff80
push eax
mov ecx, esi
call fcn.71423e06
inc dword [ebp + 8]
cmp dword [ebp + 8], 8
jb 0x7141c9ac
push 8
lea eax, [esi + 0x2958]
pop ecx
mov dword [eax - 0x20], edi
mov dword [eax], edi
add eax, 4
dec ecx
jne 0x7141c9cd
push 0x800
lea eax, [esi + 0x299c]
push ebx
push eax
mov dword [esi + 0x297c], edi
call sub.msvcrt.dll_memset
add esp, 0xc
xor ebx, ebx
mov eax, dword [esi]
push edi
push ebx
push esi
call dword [eax + 0x8c]
mov eax, dword [esi]
cmp ebx, edi
jne 0x7141ca0d
push 4
push 1
push edi
jmp 0x7141ca12
push 1
push 1
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 2
push 2
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 3
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
cmp ebx, edi
jne 0x7141ca42
push 2
push 4
push edi
jmp 0x7141ca47
push 1
push 4
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 2
push 5
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 6
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 7
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 8
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 9
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0xa
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0xb
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 0xc
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 0xd
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 0xe
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0xf
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 0x10
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 0x11
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 0x12
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0x13
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0x14
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push 1
push 0x15
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0x16
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0x17
push ebx
push esi
call dword [eax + 0x94]
mov eax, dword [esi]
push edi
push 0x18
push ebx
push esi
call dword [eax + 0x94]
inc ebx
cmp ebx, 8
jb 0x7141c9f5
push edi
push 0x8b
mov ecx, esi
call fcn.71423e06
xor ebx, ebx
inc ebx
push ebx
push 0x8d
mov ecx, esi
call fcn.71423e06
push edi
push 0x8c
mov ecx, esi
call fcn.71423e06
push ebx
push 0x88
mov ecx, esi
call fcn.71423e06
push ebx
push 0x89
mov ecx, esi
call fcn.71423e06
push edi
push 0x8a
mov ecx, esi
call fcn.71423e06
push edi
push 0x8f
mov ecx, esi
call fcn.71423e06
push ebx
push 0x8e
mov ecx, esi
call fcn.71423e06
push edi
push 0x90
mov ecx, esi
call fcn.71423e06
push edi
push 0x94
mov ecx, esi
call fcn.71423e06
push edi
push 0x93
mov ecx, esi
call fcn.71423e06
push ebx
push 0x91
mov ecx, esi
call fcn.71423e06
push 2
push 0x92
mov ecx, esi
call fcn.71423e06
push edi
push 0x97
mov ecx, esi
call fcn.71423e06
push edi
push 0x98
mov ecx, esi
call fcn.71423e06
mov esi, dword [esi + 0x2288]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
test dword [eax + 0x14], 0x800000
pop ebx
je 0x7141cc81
mov esi, dword [esi + 0x14]
jmp 0x7141cc7d
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test byte [eax + 0x34], 0x10
je 0x7141cc7a
push dword [esi + 0xbc]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
cmp eax, edi
jne 0x7141cc83
push dword [esi + 0xc8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
cmp eax, edi
jne 0x7141cc83
mov esi, dword [esi + 0xc]
cmp esi, edi
jne 0x7141cc4a
xor eax, eax
pop edi
pop esi
pop ebp
ret 4