Function at 0x40a390
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [0x46a7c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x46b4d8]
mov ecx, dword [0x46b4dc]
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x12b892ac
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x32]
cmp ecx, 0xa
setl byte [ebp - 0x31]
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov eax, dword [0x46b4d8]
mov edi, 0x308dd156
mov esi, 0x258dd140
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x258dd140
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x46b4dc], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x12b892ab
jg 0x40a570
cmp eax, 0xdf3537c8
jg 0x40a530
cmp eax, 0xaf620fd8
jg 0x40a601
cmp eax, 0x976a2e8b
jg 0x40a727
cmp eax, 0x840b1d80
je 0x40a8e2
cmp eax, 0x92ddf23c
jne 0x40a420
push eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x38], ecx
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov dword [ebp - 0x2c], ecx
mov ebx, esp
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [eax + 7], 0xcc463412
mov dword [eax + 4], 0x1248ff35
mov dword [eax], 0x1abac05
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
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 [0x46b42c], eax
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x24]
push 0x9385646d
push dword [0x46b42c]
call fcn.00401dd0
add esp, 8
mov dword [ebx], eax
mov edx, dword [ebx]
call edx
push 0x2d
push 0x46a549
push 0x549
push section..data
call fcn.004042e0
add esp, 0x10
push 0xb
push dword [ebp - 0x38]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004042e0
add esp, 0x10
push 0x7a9dd29
call fcn.00409260
add esp, 4
mov byte [ebp - 0x1d], al
mov eax, dword [0x46b4d8]
mov esi, 0x1583f034
mov edi, 0xe93ec756
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe93ec756
jmp 0x40ac06
cmp eax, 0xebeb2ed8
jle 0x40a683
cmp eax, 0x4671869
jg 0x40a742
cmp eax, 0xebeb2ed9
je 0x40a8fe
cmp eax, 0xffac80e0
jne 0x40a420
mov eax, 0xb9ca5bd0
cmp eax, 0x12b892ab
jle 0x40a42b
nop dword [eax]
cmp eax, 0x38734e14
jle 0x40a5c0
cmp eax, 0x61195c2f
jg 0x40a63c
cmp eax, 0x42aecf69
jg 0x40a76d
cmp eax, 0x38734e15
je 0x40a93d
cmp eax, 0x3d4db315
jne 0x40a420
cmp byte [ebp - 0x15], 0
mov eax, 0x1aa190cf
mov ecx, 0x38734e15
jmp 0x40aa2c
cmp eax, 0x24cd25b6
jle 0x40a6be
cmp eax, 0x2f800783
jg 0x40a822
cmp eax, 0x24cd25b7
je 0x40a964
cmp eax, 0x258dd140
jne 0x40a420
mov eax, 0x99e75ea8
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
cmp eax, 0xcd48bd41
jg 0x40a871
cmp eax, 0xaf620fd9
je 0x40a98d
cmp eax, 0xb9ca5bd0
jne 0x40a420
mov eax, dword [0x46b4d8]
mov ecx, dword [0x46b4dc]
mov esi, 0x24cd25b7
mov edi, 0x2f800784
jmp 0x40a84d
cmp eax, 0x6f78e8dc
jg 0x40a89c
cmp eax, 0x61195c30
je 0x40a9a2
cmp eax, 0x6139c835
jne 0x40a420
mov eax, dword [0x46b4d8]
mov edi, 0xdf3537c9
mov esi, 0x7407e805
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x7407e805
jmp 0x40a3fa
cmp eax, 0xe93ec755
jle 0x40a8c7
cmp eax, 0xe93ec756
je 0x40a9bc
cmp eax, 0xe94520b6
jne 0x40a420
mov eax, dword [0x46b4d8]
mov ecx, dword [0x46b4dc]
mov esi, 0x6f78e8dd
mov edi, 0xebeb2ed9
jmp 0x40a84d
cmp eax, 0x12b892ac
je 0x40a9e2
cmp eax, 0x1583f034
je 0x40aa17
cmp eax, 0x1aa190cf
jne 0x40a420
mov eax, dword [0x46b4d8]
mov ecx, dword [0x46b4dc]
mov esi, 0x7407e805
mov edi, 0x6139c835
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test eax, edx
mov eax, esi
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
jmp 0x40aab7
cmp eax, 0x976a2e8c
je 0x40aa3f
cmp eax, 0x99e75ea8
jne 0x40a420
jmp 0x40a3d8
cmp eax, 0x467186a
je 0x40aa54
cmp eax, 0xfb5baec
jne 0x40a420
mov eax, 0x840b1d80
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
cmp eax, 0x42aecf6a
je 0x40aa7d
cmp eax, 0x4d6cedba
jne 0x40a420
push eax
sub esp, 8
mov ebx, esp
push eax
mov dword [ebx + 7], 0xcc463412
mov dword [ebp - 0x38], esp
mov dword [ebx + 4], 0x1248ff35
mov dword [ebx], 0x1abac05
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 [0x46b42c], eax
push 0x9385646d
push dword [0x46b42c]
call fcn.00401dd0
add esp, 8
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ecx]
call edx
push 0x2d
push 0x46a549
push 0x549
push section..data
call fcn.004042e0
add esp, 0x10
push 0xb
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004042e0
add esp, 0x10
push 0x7a9dd29
call fcn.00409260
add esp, 4
mov eax, 0xe6d14ba0
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
cmp eax, 0x2f800784
je 0x40aaca
cmp eax, 0x308dd156
jne 0x40a420
mov eax, dword [0x46b4d8]
mov ecx, dword [0x46b4dc]
mov esi, 0xfb5baec
mov edi, 0xcd48bd42
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne esi, edi
cmp edx, 0xffffffff
jmp 0x40aaaf
cmp eax, 0xcd48bd42
je 0x40ab0a
cmp eax, 0xcdb49844
jne 0x40a420
mov eax, 0x1aa190cf
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
cmp eax, 0x6f78e8dd
je 0x40ab26
cmp eax, 0x7407e805
jne 0x40a420
mov eax, 0x6139c835
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
cmp eax, 0xe6d14ba0
je 0x40ab5b
cmp eax, 0xdf3537c9
jne 0x40a420
jmp 0x40ac2e
mov eax, dword [0x46b4d8]
mov esi, 0x99e75ea8
mov edi, 0x258dd140
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x258dd140
jmp 0x40a957
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, section..data
mov esi, dword [ebp - 0x14]
push esi
mov edx, eax
mov ecx, 0x27
xor ecx, 0x1af
add edx, ecx
call edx
mov eax, dword [0x46b4d8]
mov edi, 0xcdb49844
mov esi, 0x6f78e8dd
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x6f78e8dd
jmp 0x40a3f2
mov eax, dword [0x46b4d8]
mov esi, 0x61195c30
mov edi, 0x976a2e8c
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x976a2e8c
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x40ac06
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x30]
push 0x40
push 0x549
push section..data
call eax
mov eax, 0x2f800784
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov eax, 0x92ddf23c
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov eax, dword [0x46b4d8]
mov ecx, dword [0x46b4dc]
mov esi, 0x976a2e8c
mov edi, 0xe94520b6
jmp 0x40aa92
mov eax, dword [0x46b4d8]
mov edi, 0xe6d14ba0
mov esi, 0x4d6cedba
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4d6cedba
jmp 0x40a3fa
movzx ecx, byte [ebp - 0x32]
movzx eax, byte [ebp - 0x31]
mov esi, 0x92ddf23c
mov edx, ecx
xor dl, al
mov edx, 0xe93ec756
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
cmp byte [ebp - 0x1d], 0
mov eax, 0x42aecf6a
mov ecx, 0x467186a
mov dword [ebp - 0x3c], 0
cmovne eax, ecx
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov eax, 0x61195c30
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
push dword [ebp - 0x3c]
push dword [0x46b42c]
call fcn.00401dd0
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, 0xffac80e0
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov eax, dword [0x46b4d8]
mov ecx, dword [0x46b4dc]
mov esi, 0xfb5baec
mov edi, 0x840b1d80
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test eax, edx
mov eax, esi
cmove eax, edi
cmp ecx, 0xa
cmovge eax, esi
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x30]
push 0x40
push 0x549
push section..data
call eax
test eax, eax
mov eax, dword [0x46b4d8]
mov edi, 0x3d4db315
mov esi, 0x24cd25b7
setne byte [ebp - 0x15]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x24cd25b7
jmp 0x40a3fa
mov eax, 0x467186a
mov dword [ebp - 0x3c], 0x8aafdc01
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, section..data
mov esi, dword [ebp - 0x14]
push esi
mov edx, eax
mov ecx, 0x27
xor ecx, 0x1af
add edx, ecx
call edx
mov eax, 0xebeb2ed9
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
push eax
sub esp, 8
mov ebx, esp
push eax
mov dword [ebx + 7], 0xcc463412
mov dword [ebp - 0x38], esp
mov dword [ebx + 4], 0x1248ff35
mov dword [ebx], 0x1abac05
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 [0x46b42c], eax
push 0x9385646d
push dword [0x46b42c]
call fcn.00401dd0
add esp, 8
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
mov edx, dword [ecx]
call edx
push 0x2d
push 0x46a549
push 0x549
push section..data
call fcn.004042e0
add esp, 0x10
push 0xb
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004042e0
add esp, 0x10
push 0x7a9dd29
call fcn.00409260
add esp, 4
mov eax, dword [0x46b4d8]
mov esi, 0xaf620fd9
mov edi, 0x4d6cedba
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4d6cedba
sete cl
cmove eax, esi
cmp dword [0x46b4dc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
cmp eax, 0x12b892ab
jle 0x40a42b
jmp 0x40a570
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00442821
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret