Function at 0x406080
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [0x44d834]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x44e538]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
or ecx, 0x4f36507b
not edx
mov esi, ecx
and ecx, 0xf7e66ea4
or edx, 0xb0c9af84
not esi
mov eax, edx
and esi, 0x98100
and edx, 0xf7e66ea4
not eax
or esi, ecx
and eax, 0x810105b
or eax, edx
xor eax, esi
mov ecx, eax
and eax, 0x66e697ee
not ecx
and ecx, 0x99196811
or eax, ecx
mov edx, eax
mov ecx, eax
xor eax, 0xc3f1475a
xor ecx, 0x29d0c795
mov esi, eax
xor edx, 0xd62f386a
and esi, ecx
and eax, edx
and edx, 0x9ed0d630
mov edi, esi
and edi, eax
xor eax, esi
or eax, edi
mov edi, ecx
and ecx, 1
mov esi, eax
and edi, 0x612f29cf
and eax, 0x9aa8a47
not esi
or edi, edx
and esi, 0xf65575b8
xor edi, 0x9ed0d631
or ecx, edi
or eax, esi
mov edx, eax
mov edi, ecx
xor eax, 0xe38b0a89
mov ebx, eax
xor edx, 0x8040560
not edi
or eax, ecx
and ecx, 0x9570f217
and edi, 0x6a8f0de8
and ebx, 0x9570f217
and edx, 0x6a8f0de8
not eax
or edi, ecx
or edx, ebx
mov ecx, dword [0x44e53c]
xor edi, edx
or eax, edi
mov edx, eax
and eax, 0xbe09ebab
not edx
and edx, 0x41f61454
or eax, edx
mov edx, eax
xor eax, 0x41520404
xor edx, 0x9c921
and eax, 0xff52268e
and edx, 0xadd971
or edx, eax
mov eax, edx
xor edx, 0xd350000a
xor eax, 0x40161
and edx, 0xd3f9d81a
and eax, 0x2c0627e5
or eax, edx
xor eax, 0xd3f9d81a
cmp eax, 0xffffffff
mov eax, 0x66285d4c
sete byte [ebp - 0x2e]
cmp ecx, 0xa
setl byte [ebp - 0x2d]
cmp eax, 0x3242df6f
jg 0x4061eb
jmp 0x406330
mov eax, 0x77e094a6
nop
cmp eax, 0x3242df6f
jle 0x406330
cmp eax, 0x3e2a485f
jle 0x406300
cmp eax, 0x3e2a4860
je 0x40638f
cmp eax, 0x77e094a6
je 0x4064c0
cmp eax, 0x66285d4c
jne 0x4061e0
mov dh, byte [ebp - 0x2e]
mov ah, byte [ebp - 0x2d]
mov esi, 0x3e2a4860
mov cl, dh
mov al, dh
xor cl, 1
and cl, dh
xor cl, 1
xor al, cl
or cl, dh
xor cl, 1
or cl, al
mov al, ah
mov ch, cl
mov ebx, ecx
xor al, 1
xor ch, 1
or bl, ch
and ch, cl
xor bl, 1
xor ch, 1
xor dh, bl
mov bh, dh
xor bh, 1
and bl, bh
mov dl, bl
xor bl, dh
mov dh, ah
xor dl, 1
or dh, al
or dl, bh
xor dl, 1
or dl, bl
mov bl, ah
and bl, dh
xor dh, 1
mov bh, dh
and bh, al
or bh, bl
mov bl, dh
or dh, ah
xor bl, ah
xor dh, 1
or dh, bl
mov bl, bh
xor dh, 1
and bl, dh
xor dh, bh
or dh, bl
mov bl, dh
xor bl, 1
or bl, dl
xor dl, 1
or dl, dh
mov dh, dl
or dl, bl
xor dh, bl
xor dl, 1
or dl, dh
mov dh, cl
xor dh, ch
or ch, cl
xor ch, 1
or ch, dh
xor ch, ah
mov ah, cl
xor ah, al
or al, cl
xor ch, 1
xor al, 1
mov cl, ch
or al, ah
xor cl, al
or al, ch
mov ch, dl
xor al, 1
xor ch, 1
or al, cl
mov cl, al
and al, dl
xor cl, 1
and ch, cl
or ch, al
mov eax, edx
xor al, cl
or cl, dl
xor cl, 1
or cl, al
mov eax, 0x77e094a6
mov edx, ecx
xor dl, ch
test cl, 1
cmovne eax, esi
test ch, 1
mov ecx, 0x77e094a6
cmove eax, esi
test dl, 1
jmp 0x4066a8
cmp eax, 0x3242df70
je 0x406632
cmp eax, 0x37d45404
jne 0x4061e0
mov eax, 0xf7e2c3ce
mov dword [ebp - 0x3c], 0x8aafdc01
cmp eax, 0x3242df6f
jg 0x4061eb
nop dword [eax]
cmp eax, 0xcea2a4f7
jle 0x406360
cmp eax, 0xf7e2c3ce
je 0x40665a
cmp eax, 0xfd08382d
je 0x40668a
cmp eax, 0xcea2a4f8
jne 0x4061e0
jmp 0x406897
cmp eax, 0x86a7c654
je 0x4066bb
cmp eax, 0xc7120a0c
jne 0x4061e0
mov eax, 0xfd08382d
mov dword [ebp - 0x38], 0x4e4
cmp eax, 0x3242df6f
jg 0x4061eb
jmp 0x406330
push eax
sub esp, 0xc
mov ebx, esp
push eax
mov dword [ebx + 0xb], 0x2554ff05
mov dword [ebp - 0x34], esp
mov dword [ebx + 8], 0x5390158
mov dword [ebx + 4], 0x57254712
mov dword [ebx], 0xff574511
mov edi, dword fs:[0x30]
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0xc]
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [0x44e4e8], eax
push 0x447add
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.FreeConsole
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ecx]
call eax
push 0x27
push section..data
push 0x547
push 0x44d027
call section..text
add esp, 0x10
push 0xf
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call section..text
add esp, 0x10
push 0
push 1
push str._d__d
call fcn.00403e90
add esp, 0xc
mov ecx, 0x44f2b0
push 0
call fcn.004068c0
mov esi, eax
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, esi
push 0xa
call fcn.0041cb20
movsx eax, al
mov ecx, esi
push eax
call fcn.0041c4a0
mov ecx, esi
call fcn.0040b130
mov eax, 0xb3d208d
mov dword [ebp - 0x14], 1
cmp eax, 0x4b38a411
jg 0x4064b0
jmp 0x406477
mov eax, 0x3ea0d43e
cmp eax, 0x4b38a411
jg 0x4064b0
cmp eax, 0xb3d208d
je 0x40648a
cmp eax, 0x3ea0d43e
jne 0x406470
jmp 0x4061d9
cmp dword [ebp - 0x14], 0
mov eax, 0x73eeffd7
mov ecx, 0x4b38a412
cmove eax, ecx
cmp eax, 0x4b38a411
jle 0x406477
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x4b38a412
je 0x40646b
cmp eax, 0x73eeffd7
jne 0x406470
jmp 0x40646b
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x34], ecx
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
push eax
mov dword [ebp - 0x28], ecx
mov ebx, esp
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xb], 0x2554ff05
mov dword [eax + 8], 0x5390158
mov dword [eax + 4], 0x57254712
mov dword [eax], 0xff574511
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edi, dword fs:[0x30]
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0xc]
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [0x44e4e8], eax
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
push 0x447add
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.FreeConsole
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebx], eax
mov eax, dword [ebx]
call eax
push 0x27
push section..data
push 0x547
push 0x44d027
call section..text
add esp, 0x10
push 0xf
push dword [ebp - 0x34]
push dword [ebp + 0xc]
push dword [ebp + 8]
call section..text
add esp, 0x10
push 0
push 1
push str._d__d
call fcn.00403e90
add esp, 0xc
mov ecx, 0x44f2b0
push 0
call fcn.004068c0
mov esi, eax
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, esi
push 0xa
call fcn.0041cb20
movsx eax, al
mov ecx, esi
push eax
call fcn.0041c4a0
mov ecx, esi
call fcn.0040b130
mov ecx, 0xb3d208d
mov dword [ebp - 0x14], 1
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0x4b38a411
jg 0x406600
cmp ecx, 0xb3d208d
je 0x4065dd
cmp ecx, 0x3ea0d43e
jne 0x4065c0
jmp 0x406720
cmp dword [ebp - 0x14], 0
mov ecx, 0x73eeffd7
mov edx, 0x4b38a412
cmove ecx, edx
cmp ecx, 0x4b38a411
jle 0x4065c8
nop word cs:[eax + eax]
cmp ecx, 0x4b38a412
je 0x406621
cmp ecx, 0x73eeffd7
jne 0x4065c0
mov ecx, 0x3ea0d43e
xor eax, eax
cmp ecx, 0x4b38a411
jle 0x4065c8
jmp 0x406600
mov ecx, 0x3ea0d43e
mov al, 1
cmp ecx, 0x4b38a411
jle 0x4065c8
jmp 0x406600
cmp byte [ebp - 0x19], 0
mov eax, 0x37d45404
mov ecx, 0xf7e2c3ce
mov dword [ebp - 0x3c], 0
cmovne eax, ecx
cmp eax, 0x3242df6f
jg 0x4061eb
jmp 0x406330
push dword [ebp - 0x3c]
push dword [0x44e4e8]
call fcn.004059e0
add esp, 8
mov dword [ebp - 0x18], eax
mov eax, 0xc7120a0c
mov dword [ebp - 0x38], 0
cmp eax, 0x3242df6f
jg 0x4061eb
jmp 0x406330
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x2c]
push 0x40
push dword [ebp - 0x38]
push 0x44d027
call eax
test eax, eax
mov eax, 0x86a7c654
mov ecx, 0xcea2a4f8
cmove eax, ecx
cmp eax, 0x3242df6f
jg 0x4061eb
jmp 0x406330
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFindAtomW]
mov edi, 0x44d027
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x14]
push esi
mov edx, edi
mov ecx, 0x27
xor ecx, 0x1af
add edx, ecx
mov ecx, 3
sub esp, 4
loop 0x4066e4
mov dword [esp + 4], 1
xor dword [esp + 4], 0xbb8
mov dword [esp], edx
mov dword [esp + 8], 0
lea eax, [ebx]
push eax
ret
and al, 1
mov byte [ebp - 0x19], al
mov eax, dword [0x44e538]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x694feb23
not eax
and eax, 0x96b014dc
or ecx, eax
mov edx, ecx
xor ecx, 0x28010d0
xor edx, 0x6943e121
and ecx, 0x28c1ad2
and edx, 0xfd73e52d
or edx, ecx
mov esi, edx
mov eax, edx
xor edx, 0x45f0e2f9
xor eax, 0xdc32e02d
xor esi, 0x28c1ad2
and edx, esi
and eax, 0xdcbafabd
and esi, 0x23450542
or esi, eax
mov ecx, esi
xor esi, 0xdcbafabd
mov eax, esi
xor ecx, 0x23450542
and esi, 0x9fcf1132
or eax, 0xb88307d4
mov edi, eax
mov ebx, eax
not edi
and ebx, 0x69d61b4a
and edi, 0x628e021
or edi, ebx
mov ebx, edx
and edx, 0x9629e4b5
not ebx
or eax, ebx
and ebx, 0x69d61b4a
or edx, ebx
not eax
xor edx, edi
mov edi, 0x3242df70
or eax, edx
mov edx, eax
and eax, 0x60cfd4f9
not edx
and edx, 0x9f302b06
or eax, edx
mov edx, ecx
and ecx, 1
and edx, 0x6030eecd
or edx, esi
mov esi, eax
xor eax, 0xd84cd32c
xor edx, 0x9fcf1133
xor esi, 0x5210082
or ecx, edx
mov edx, eax
and esi, 0x9d615186
and edx, 0x629eae79
or eax, ecx
or esi, edx
mov edx, ecx
and ecx, 0x629eae79
not eax
not edx
and edx, 0x9d615186
or edx, ecx
mov ecx, dword [0x44e53c]
xor edx, esi
mov esi, 0x3e2a4860
or eax, edx
cmp eax, 0xffffffff
sete al
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl cl
or dl, al
mov ah, cl
or cl, al
xor dl, 1
xor ah, al
xor cl, 1
or cl, ah
and ah, al
mov al, ah
mov ch, cl
and al, dl
xor dl, ah
or dl, al
mov eax, 0x3e2a4860
xor dl, 1
or ch, dl
xor dl, cl
mov cl, ch
xor cl, dl
test dl, 1
cmovne eax, edi
test ch, 1
cmovne eax, esi
test cl, 1
cmove eax, edi
cmp eax, 0x3242df6f
jg 0x4061eb
jmp 0x406330
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d6b9
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret