Function at 0x4119f0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x40
mov esi, esp
mov dword [esi + 0x28], ebp
mov edx, dword [ebp + 8]
mov dword [esi + 0x2c], esp
mov dword [esi + 0x38], 0xffffffff
lea eax, [esi + 0x30]
mov dword [esi + 0x34], 0x417240
mov ecx, dword fs:[0]
mov dword [esi + 0x30], ecx
mov dword fs:[0], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov edi, dword [edx + eax + 0x20]
xor ecx, ecx
mov dword [esi + 8], edi
sub edi, dword [ebp + 0x10]
cmovb edi, ecx
mov eax, dword [edx + eax + 0x24]
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x20]
push edx
call fcn.00411f60
mov ecx, dword [0x5c1db4]
mov eax, dword [0x5c1db8]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete bl
sete byte [esi + 2]
mov ecx, 0xbcc734f7
mov edx, 0x2da7a890
cmove edx, ecx
cmp eax, 0xa
setl byte [esi + 3]
mov eax, 0x2da7a890
cmovge edx, eax
setl al
mov ah, byte [esi + 0x24]
mov byte [esi + 0x10], ah
xor al, bl
cmovne edx, ecx
mov eax, 0x84b7d6
nop dword [eax + eax]
cmp eax, 0x84b7d5
jg 0x411ac0
cmp eax, 0xbcc734f7
je 0x411b02
cmp eax, 0xff3e4278
jne 0x411aa0
mov eax, edx
jmp 0x411aa0
cmp eax, 0x2da7a890
je 0x411afb
cmp eax, 0x84b7d6
jne 0x411aa0
mov dword [esi + 4], edi
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 3]
mov ah, cl
xor ah, al
mov ebx, 0x2da7a890
mov edi, 0xff3e4278
cmovne ebx, edi
test al, al
mov eax, ebx
cmovne eax, edi
test cl, cl
mov edi, dword [esi + 4]
cmove eax, ebx
jmp 0x411aa0
mov eax, 0xff3e4278
jmp 0x411aa0
xor ebx, ebx
cmp dword [esi + 8], 1
sbb dword [esi + 0x14], 0
cmovl edi, ebx
cmp byte [esi + 0x10], 0
setne byte [esi + 0x18]
cmp byte [esi + 0x18], 0
je 0x411cca
mov dword [esi + 4], edi
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov ecx, dword [edx + eax + 0x14]
not ecx
or ecx, 0xfffffe3f
cmp ecx, 0xffffffbf
je 0x411b95
mov eax, dword [esi + 4]
test eax, eax
je 0x411b89
nop word cs:[eax + eax]
mov dword [esi + 4], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov ecx, dword [edx + eax + 0x38]
movsx eax, byte [edx + eax + 0x40]
mov dword [esi + 0xc], 0
mov dword [esi + 0x38], 1
push eax
call fcn.00412330
cmp eax, 0xffffffff
je 0x411d51
mov eax, dword [esi + 4]
dec eax
mov edx, dword [ebp + 8]
test eax, eax
jne 0x411b50
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov dword [esi + 4], 0
mov eax, dword [edx + eax + 0x38]
mov dword [esi + 8], eax
mov eax, dword [0x5c1dbc]
mov ecx, dword [0x5c1dc0]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 2]
cmp ecx, 0xa
setl byte [esi + 3]
mov ebx, 0x2f733f86
mov edi, dword [ebp + 8]
nop dword [eax + eax]
cmp ebx, 0x241e55d7
jg 0x411bf0
cmp ebx, 0xb531f16c
je 0x411c30
cmp ebx, 0xcc50b2a1
jne 0x411bd0
jmp 0x411c60
cmp ebx, 0x241e55d8
je 0x411d00
cmp ebx, 0x2f733f86
jne 0x411bd0
movzx eax, byte [esi + 2]
movzx ecx, byte [esi + 3]
mov edx, ecx
xor dl, al
test cl, cl
mov ebx, 0xb531f16c
mov ecx, 0xcc50b2a1
cmovne ebx, ecx
test al, al
mov eax, 0xb531f16c
cmove ebx, eax
test dl, dl
cmovne ebx, ecx
jmp 0x411bc5
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esi + 0xc], 0
mov dword [esi + 0x38], 1
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call eax
mov ebx, 0xcc50b2a1
jmp 0x411bc5
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esi + 0xc], 0
mov dword [esi + 0x38], 1
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], edx
mov edx, dword [0x5c1dbc]
mov eax, dword [0x5c1dc0]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xb531f16c
mov edi, 0x241e55d8
cmovne edx, edi
cmp ecx, 0xffffffff
mov ebx, edx
cmove ebx, edi
cmp eax, 0xa
cmovge ebx, edx
jmp 0x411bc5
mov eax, dword [0x5c1dc4]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c1dc8], 0xa
setl al
or al, cl
mov ecx, 4
cmp al, 1
mov edi, dword [ebp + 8]
je 0x411dea
jmp 0x411df3
mov eax, dword [esi + 0x14]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 0x10]
xor eax, dword [esi + 0x18]
xor ebx, ebx
or eax, dword [esi + 0x1c]
mov ecx, dword [esi + 4]
je 0x411d5c
mov eax, dword [0x5c1dc4]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x5c1dc8], 0xa
setl al
or al, cl
mov ecx, 4
xor ebx, ebx
cmp al, 1
je 0x411df7
jmp 0x411e00
mov ebx, 4
mov edi, dword [ebp + 8]
mov ecx, dword [esi + 4]
mov dword [esi + 8], ebx
nop
test ecx, ecx
je 0x411e04
mov dword [esi + 4], ecx
mov eax, dword [edi]
mov eax, dword [eax + 4]
movsx edx, byte [edi + eax + 0x40]
mov ecx, dword [edi + eax + 0x38]
mov dword [esi + 0xc], ebx
mov dword [esi + 0x38], 1
push edx
call fcn.00412330
mov ecx, dword [esi + 4]
dec ecx
cmp eax, 0xffffffff
mov edi, dword [ebp + 8]
mov ebx, dword [esi + 8]
jne 0x411d60
mov eax, dword [0x5c1dc4]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5c1dc8], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov ecx, 4
test al, 1
jne 0x411e64
jmp 0x411e8d
or ebx, 4
mov ecx, ebx
test al, al
jne 0x411e20
mov ebx, ecx
jmp 0x411dea
or ebx, 4
mov ecx, ebx
test al, al
jne 0x411e04
mov ebx, ecx
jmp 0x411df7
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov dword [edi + eax + 0x24], 0
mov dword [edi + eax + 0x20], 0
mov dword [esi + 0x38], 0
mov eax, dword [edi]
mov eax, dword [eax + 4]
lea ecx, [edi + eax]
or ebx, dword [edi + eax + 0xc]
mov dword [esi + 0x38], 0
push 0
push ebx
call fcn.00412e60
mov eax, dword [0x5c1dc4]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5c1dc8], 0xa
setl cl
test cl, al
jne 0x411e91
xor cl, al
je 0x411ec1
jmp 0x411e91
mov ecx, ebx
not ecx
and ecx, 0x4e05e723
mov edx, ebx
and edx, 0xb1fa18dc
or edx, ecx
xor edx, 0x4e05e727
and ebx, 4
or ebx, edx
mov ecx, ebx
test al, 1
jne 0x411e04
mov ebx, ecx
jmp 0x411e64
lea ecx, [esi + 0x20]
call fcn.00412580
mov eax, dword [0x5c1dc4]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5c1dc8], 0xa
setl cl
test cl, al
jne 0x411ecb
xor cl, al
jne 0x411ecb
lea ecx, [esi + 0x20]
call fcn.00412580
jmp 0x411e91
mov eax, dword [esi + 0x30]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret