Function at 0x40d3e0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov eax, dword [0x4d2784]
lea edi, [ebp - 0x1b]
mov ebx, 0x68fdcaac
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, 0xe287ec0a
cmp eax, 0x2fc05a92
jg 0x40d450
cmp eax, 0xd92584a5
jle 0x40d4a0
cmp eax, 0xfb83123e
jg 0x40d554
cmp eax, 0xe287ec09
jg 0x40d6a3
cmp eax, 0xd92584a6
je 0x40d993
cmp eax, 0xdb9cb5d7
jne 0x40d400
mov eax, dword [ebp - 0x38]
mov eax, 0x8038253c
cmp eax, 0x2fc05a92
jle 0x40d407
nop dword [eax]
cmp eax, 0x5b4040cc
jg 0x40d4f0
cmp eax, 0x407d7919
jle 0x40d5ec
cmp eax, 0x529e6ca8
jg 0x40d862
cmp eax, 0x407d791a
je 0x40d9b3
cmp eax, 0x4cc11732
jne 0x40d400
mov eax, 0xfb83123f
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp eax, 0xbfe4e6a1
jle 0x40d622
cmp eax, 0xc79199a0
jg 0x40d8f4
cmp eax, 0xbfe4e6a2
je 0x40da1a
cmp eax, 0xc693d275
jne 0x40d400
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov eax, 0x605acf78
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp eax, 0x68240c21
jle 0x40d66f
cmp eax, 0x7d310e1b
jg 0x40d93a
cmp eax, 0x68240c22
je 0x40da2f
cmp eax, 0x6eeaef20
jne 0x40d400
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call edx
push 0x27
push section..data
push 0x547
push 0x4d1027
call section..text
add esp, 0x10
mov dword [ebp - 0x34], edi
mov eax, 0xf5eaba91
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp eax, 0x23dc4e41
jle 0x40d978
cmp eax, 0x23dc4e42
je 0x40da64
cmp eax, 0x2c39d1c7
jne 0x40d400
mov eax, dword [0x4d338c]
mov esi, dword [ebp - 0x4c]
lea ecx, [eax - 1]
mov dword [ebp - 0x24], esi
imul ecx, eax
mov eax, ecx
and ecx, 0xcc54919c
not eax
mov edx, eax
and eax, 0xfffffffe
and edx, 0x33ab6e63
or edx, ecx
xor edx, 0x33ab6e62
or eax, edx
cmp eax, 0xffffffff
sete al
setne cl
cmp dword [0x4d3390], 0xa
setl dl
xor cl, dl
mov ch, dl
or dl, al
xor cl, 1
xor dl, 1
xor ch, al
mov eax, 0x564e9628
or dl, cl
mov cl, dl
xor cl, ch
test dl, dl
mov edx, 0x7ff4f842
cmovne eax, edx
test ch, ch
cmove eax, edx
test cl, cl
mov edx, 0x564e9628
jmp 0x40db1b
cmp eax, 0x2fc05a93
je 0x40da7f
cmp eax, 0x32e8200d
je 0x40da9b
cmp eax, 0x3f068ec2
jne 0x40d400
mov eax, 0x7d310e1c
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp eax, 0x8038253c
je 0x40dab7
cmp eax, 0x851baaac
je 0x40db2e
cmp eax, 0xaaa4aa20
jne 0x40d400
mov eax, dword [ebp - 0x40]
mov dword [eax + 7], 0x1905512
mov dword [eax + 4], 0x12e7ecff
mov dword [eax], 0x1346724
mov eax, 0x23dc4e42
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp eax, 0x5b4040cd
je 0x40db5b
cmp eax, 0x605acf78
je 0x40db83
cmp eax, 0x65d4c5dc
jne 0x40d400
cmp byte [ebp - 0x25], 0
mov eax, 0xdb9cb5d7
mov ecx, 0xd92584a6
jmp 0x40db70
cmp eax, 0xe287ec0a
je 0x40db9b
cmp eax, 0xf5eaba91
jne 0x40d400
push 0xb
push dword [ebp - 0x34]
push dword [ebp + 0xc]
push dword [ebp + 8]
call section..text
add esp, 0x10
mov eax, dword [0x4d337c]
mov ecx, dword [0x4d3380]
mov dword [ebp - 0x20], 1
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 1
not eax
mov esi, eax
and esi, 0xfffffffe
or edx, esi
mov esi, 0x6456d815
xor eax, edx
test eax, edx
setne al
sete dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
xor ah, al
mov ch, cl
or cl, dl
xor cl, 1
xor ch, dl
mov edx, 0x402df52
or cl, ah
mov al, ch
xor cl, 1
and al, cl
xor cl, ch
or cl, al
mov eax, 0xe63f30dd
test cl, 1
mov ecx, 0xc221a79f
cmovne eax, ecx
mov ecx, 0xe63f30dd
cmovne ecx, edx
cmp esi, 0x4aaf3250
jle 0x40d768
jmp 0x40d7a0
mov esi, 0x6d2b1d76
xor edx, edx
nop word cs:[eax + eax]
nop dword [eax]
cmp esi, 0x4aaf3250
jg 0x40d7a0
cmp esi, 0x402df51
jg 0x40d7d0
cmp esi, 0xc221a79f
je 0x40d819
cmp esi, 0xe63f30dd
jne 0x40d760
mov esi, dword [ebp - 0x20]
mov esi, 0x402df52
cmp esi, 0x4aaf3250
jle 0x40d768
nop word cs:[eax + eax]
nop
cmp esi, 0x68fdcaab
jg 0x40d800
cmp esi, 0x4aaf3251
je 0x40d74c
cmp esi, 0x6456d815
jne 0x40d760
mov esi, ecx
cmp esi, 0x4aaf3250
jle 0x40d768
jmp 0x40d7a0
cmp esi, 0x402df52
je 0x40d82f
cmp esi, 0x3a6d5dbe
jne 0x40d760
cmp byte [ebp - 0x1c], 0
mov esi, 0x4aaf3251
cmovne esi, ebx
cmp esi, 0x4aaf3250
jle 0x40d768
jmp 0x40d7a0
cmp esi, 0x68fdcaac
je 0x40d84a
cmp esi, 0x6d2b1d76
jne 0x40d760
jmp 0x40dbbc
mov esi, 0x3a6d5dbe
cmp esi, 0x4aaf3250
jle 0x40d768
jmp 0x40d7a0
cmp dword [ebp - 0x20], 0
mov esi, eax
sete byte [ebp - 0x1c]
cmp esi, 0x4aaf3250
jle 0x40d768
jmp 0x40d7a0
mov esi, 0x6d2b1d76
mov dl, 1
cmp esi, 0x4aaf3250
jle 0x40d768
jmp 0x40d7a0
cmp eax, 0x529e6ca9
je 0x40dbd7
cmp eax, 0x564e9628
jne 0x40d400
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x48]
push ecx
push 0x40
push dword [ebp - 0x24]
push 0x4d1027
call eax
test eax, eax
mov eax, dword [0x4d338c]
mov esi, 0x65d4c5dc
setne byte [ebp - 0x25]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
not ecx
or ecx, eax
mov eax, dword [0x4d3390]
cmp ecx, 0xffffffff
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg dh
and ch, dl
and cl, dh
or dh, dl
or ch, cl
mov al, dh
xor al, ch
mov eax, 0x7ff4f842
cmovne esi, eax
test ch, ch
mov ecx, 0x65d4c5dc
mov eax, esi
cmovne eax, ecx
test dh, dh
jmp 0x40da07
cmp eax, 0xc79199a1
je 0x40dbec
cmp eax, 0xce6a443b
jne 0x40d400
push dword [ebp - 0x50]
push dword [section..ondat]
call fcn.0040aa50
add esp, 8
mov dword [ebp - 0x2c], eax
mov eax, 0x2fc05a93
mov dword [ebp - 0x4c], 0
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp eax, 0x7d310e1c
je 0x40dc01
cmp eax, 0x7ff4f842
jne 0x40d400
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x48]
push ecx
push 0x40
push dword [ebp - 0x24]
push 0x4d1027
call eax
mov eax, 0x564e9628
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp eax, 0xfb83123f
je 0x40dca1
cmp eax, 0xfdcf029f
jne 0x40d400
jmp 0x40dd1f
push dword [ebp + 8]
call fcn.0040ce30
add esp, 4
mov eax, 0x529e6ca9
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, dword [0x4d338c]
mov esi, 0xbfe4e6a2
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
xor eax, ecx
test eax, ecx
setne al
sete cl
cmp dword [0x4d3390], 9
setg dl
mov ah, dl
xor cl, dl
xor dl, al
and ah, al
mov al, cl
or dl, ah
xor al, dl
mov eax, 0xc79199a1
cmovne esi, eax
test dl, dl
mov eax, 0xc79199a1
cmovne eax, esi
test cl, cl
cmovne eax, esi
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, 0x407d791a
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, dword [ebp - 0x3c]
mov ecx, edi
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 [section..ondat], eax
mov eax, 0xc693d275
mov edi, ecx
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
lea eax, [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov eax, 0x68240c22
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, 0x2c39d1c7
mov dword [ebp - 0x4c], 0x4e4
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, 0xce6a443b
mov dword [ebp - 0x50], 0x8aafdc01
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, dword [ebp - 0x3c]
mov eax, dword [0x4d338c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
xor eax, ecx
test eax, ecx
mov eax, dword [0x4d3390]
setne cl
sete dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg al
and ch, cl
and dl, al
or ch, dl
mov edx, eax
xor al, cl
and dl, cl
or al, dl
mov edx, 0x3f068ec2
mov cl, al
xor cl, ch
test al, al
mov eax, 0x7d310e1c
cmovne eax, edx
test ch, ch
cmove eax, edx
test cl, cl
mov edx, 0x7d310e1c
cmove eax, edx
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
push 0x9385646d
push dword [section..ondat]
call fcn.0040aa50
add esp, 8
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
mov eax, 0x6eeaef20
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
cmp byte [ebp - 0x2d], 0
mov eax, 0x32e8200d
mov ecx, 0xce6a443b
mov dword [ebp - 0x50], 0
cmovne eax, ecx
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, dword [ebp - 0x38]
mov eax, 0x851baaac
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
push eax
mov eax, esp
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
mov eax, 0xaaa4aa20
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
and dl, 1
mov eax, 0x5b4040cd
mov byte [ebp - 0x2d], dl
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, 0xdb9cb5d7
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, 0xfdcf029f
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov ecx, dword [0x4d338c]
mov eax, dword [0x4d3390]
mov esi, 0x3f068ec2
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0x8d4bee0b
not ecx
and ecx, 0x72b411f4
or edx, ecx
mov ecx, edx
xor edx, 0x72b411f5
xor ecx, 0x8d4bee0a
and ecx, 0xfffffffe
or edx, ecx
mov ecx, edx
and edx, 0xdd77cf0f
not ecx
and ecx, 0x228830f0
or edx, ecx
xor edx, 0xdd77cf0f
sete cl
setne dl
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
and cl, ch
and al, dl
or cl, al
mov al, ch
xor ch, dl
and al, dl
or ch, al
mov eax, 0x4cc11732
mov dl, ch
xor dl, cl
test ch, ch
cmovne eax, esi
test cl, cl
mov ecx, 0x4cc11732
cmove eax, esi
test dl, dl
cmove eax, ecx
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov eax, dword [ebp - 0x40]
mov eax, dword [0x4d338c]
mov esi, 0x407d791a
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x627d68a5
not eax
mov edx, eax
and edx, 0x9d82975a
or ecx, edx
xor ecx, 0x9d82975b
or ecx, eax
mov eax, dword [0x4d3390]
cmp ecx, 0xffffffff
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
mov eax, 0xbfe4e6a2
setg dh
and ch, dl
and cl, dh
or dh, dl
or ch, cl
mov cl, dh
xor cl, ch
test ch, ch
cmovne eax, esi
test dh, dh
mov edx, 0xbfe4e6a2
cmovne eax, edx
test cl, cl
cmove eax, esi
cmp eax, 0x2fc05a92
jle 0x40d407
jmp 0x40d450
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004affb3
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret