Function at 0x1001c523
Capabilities:
Parse pe header

Disassembly:
push 0xc
mov eax, 0x10089a67
call fcn.10070527
xor ebx, ebx
push ebx
push 0x80
push 3
pop eax
push eax
push ebx
push 1
push 0x80000000
push dword [ebp + 8]
mov dword [ebp - 4], ebx
call dword [0x1008f098]
mov edi, eax
cmp edi, 0xffffffff
jne 0x1001c593
mov ecx, dword [0x100c97a0]
mov eax, ecx
imul eax, ecx
push 0x12
cdq
pop esi
idiv esi
cmp edx, 0xb
jne 0x1001c7e8
mov esi, ebx
test ecx, ecx
je 0x1001c588
mov eax, ecx
and eax, 1
add esi, eax
mov eax, ecx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
jne 0x1001c576
mov dword [0x100c97a0], esi
jmp 0x1001c7e8
push ebx
push ebx
push ebx
push 2
push ebx
push edi
call dword [0x1008f0e4]
mov ecx, eax
mov eax, dword [0x100c97a0]
imul eax, eax
push 0x18
cdq
pop esi
idiv esi
push 7
pop eax
mov dword [ebp - 0x10], ecx
cmp edx, eax
jne 0x1001c5c0
dec dword [0x100cabd4]
test ecx, ecx
jne 0x1001c5d0
push edi
call dword [0x1008f0c4]
jmp 0x1001c7e8
push ebx
push ebx
push ebx
push 4
pop eax
push eax
push ecx
call dword [0x1008f0dc]
mov esi, eax
test esi, esi
je 0x1001c7da
mov eax, 0x5a4d
cmp word [esi], ax
je 0x1001c69b
push esi
call dword [0x1008f0e0]
call fcn.1001ccd0
mov ecx, dword [0x100cab60]
push dword [ebp - 0x10]
mov esi, dword [0x1008f0c4]
mov edx, 0xbaf88f73
test al, al
cmove ecx, edx
mov dword [0x100cab60], ecx
call esi
push edi
call esi
mov ecx, dword [0x100c97a0]
mov eax, ecx
imul eax, ecx
push 7
cdq
pop esi
idiv esi
cmp edx, 6
jne 0x1001c7e8
test ecx, ecx
je 0x1001c7e8
push 3
pop esi
mov eax, ecx
and eax, 0x80000001
jns 0x1001c659
dec eax
or eax, 0xfffffffe
inc eax
jne 0x1001c666
mov eax, ecx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
jmp 0x1001c66d
lea ecx, [ecx*2 + 1]
mov eax, ecx
cdq
idiv esi
mov dword [0x100c97a0], ecx
sub edx, ebx
je 0x1001c685
dec edx
dec edx
je 0x1001c688
dec edx
je 0x1001c689
jmp 0x1001c692
add ecx, 2
inc ecx
add ecx, 2
mov dword [0x100c97a0], ecx
test ecx, ecx
jne 0x1001c64b
jmp 0x1001c7e8
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
je 0x1001c715
mov ecx, dword [0x100c97a0]
mov dword [ebp - 0x18], 0x11
lea eax, [ecx + 1]
imul eax, ecx
cdq
idiv dword [ebp - 0x18]
cmp edx, 0xe
jne 0x1001c709
mov eax, ecx
cdq
mov dword [ebp - 0x18], 0xa3
idiv dword [ebp - 0x18]
mov dword [ebp - 0x14], ebx
cmp edx, 0xb0
je 0x1001c701
mov eax, ecx
or eax, 0xffffff36
add ecx, eax
mov eax, ecx
imul eax, ecx
inc ebx
cmp ebx, eax
jg 0x1001c6fc
mov eax, ecx
cdq
idiv dword [ebp - 0x18]
cmp edx, 0xb0
jne 0x1001c6db
mov dword [ebp - 0x14], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [0x100c97a0], eax
push esi
call dword [0x1008f0e0]
jmp 0x1001c7da
movzx eax, word [eax + esi + 4]
mov ecx, 0x14c
cmp ax, cx
je 0x1001c709
mov ecx, 0x8664
cmp ax, cx
jne 0x1001c7bf
call fcn.1001cc8a
push 0x64
pop ecx
push 4
pop ebx
test al, al
jne 0x1001c765
mov eax, dword [0x100c97a0]
cdq
idiv ecx
xor ecx, ecx
lea eax, [edx + 0x7b]
mul ebx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1006f447
push eax
call fcn.10070c4d
pop ecx
pop ecx
push esi
call dword [0x1008f0e0]
push dword [ebp - 0x10]
mov esi, dword [0x1008f0c4]
call esi
push edi
call esi
mov ecx, dword [0x100c97a0]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 0x8000000f
jns 0x1001c792
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 1
jne 0x1001c7bb
mov eax, ecx
cdq
push 0x64
pop ecx
idiv ecx
xor ecx, ecx
lea eax, [edx + 0x63]
mul ebx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1006f447
push eax
call fcn.10070c4d
pop ecx
pop ecx
mov bl, 1
jmp 0x1001c7e8
push esi
call dword [0x1008f0e0]
call fcn.1001cb0a
test al, al
jne 0x1001c7da
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0x1008f0b0]
push dword [ebp - 0x10]
mov esi, dword [0x1008f0c4]
call esi
push edi
call esi
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.10002036
mov al, bl
call fcn.100704f5
ret