Function at 0x40ab10
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [0x4667c4]
lea ebp, [esp + 0x25]
mov ebx, dword [esp + 0x4c]
xor eax, esp
mov dword [esp + 0x30], eax
mov dword [esp + 8], ebp
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov dword [eax + 7], 0xcc463412
mov dword [eax + 4], 0x1248ff35
mov dword [eax], 0x1abac05
lea eax, [esp + 4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
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 [0x46742c], eax
mov eax, esp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 0x9385646d
push dword [0x46742c]
call fcn.00403bb0
add esp, 8
mov dword [esp], eax
mov edx, dword [esp]
call edx
push 0x2d
push 0x466549
push 0x549
push section..data
call fcn.00406970
add esp, 0x10
push 0xb
push ebp
push ebx
push dword [esp + 0x54]
call fcn.00406970
add esp, 0x10
mov ecx, 0xf56d90c0
mov esi, 0x1726495c
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0xf3284d0e
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xb65049cc
cmovne ebx, ebp
test eax, ecx
mov ecx, ebx
cmove ecx, ebp
cmp edx, 0xa
cmovge ecx, ebx
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, 0xf39d68b2
jg 0x40ac80
cmp ecx, 0xbd317eda
jg 0x40ad00
cmp ecx, 0xabef485c
jg 0x40adde
cmp ecx, 0x91c59140
jle 0x40af40
cmp ecx, 0x94623db7
jg 0x40b16b
cmp ecx, 0x91c59141
je 0x40b255
cmp ecx, 0x921fd8bf
jne 0x40ac20
mov ecx, 0x3a03b21a
cmp ecx, 0xf39d68b2
jle 0x40ac28
nop dword [eax]
cmp ecx, 0x35541271
jg 0x40ad70
cmp ecx, 0xf23e4de
jle 0x40ae34
cmp ecx, 0x2549055b
jle 0x40af8a
cmp ecx, 0x2d3a32b3
jg 0x40b19e
cmp ecx, 0x2549055c
je 0x40abd4
cmp ecx, 0x26327a19
jne 0x40ac20
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebx, 0xf23e4df
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0xdb15f8ae
jmp 0x40b44f
cmp ecx, 0xd854649c
jle 0x40ae98
cmp ecx, 0xec22c8d7
jle 0x40afe1
cmp ecx, 0xed591652
jg 0x40b1d8
cmp ecx, 0xec22c8d8
je 0x40b27b
cmp ecx, 0xec982cb9
jne 0x40ac20
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebx, 0x7f0a4604
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x83c73573
jmp 0x40b44f
cmp ecx, 0x61695e00
jle 0x40aefa
cmp ecx, 0x710e87fd
jle 0x40b02d
cmp ecx, 0x7d7d388d
jg 0x40b217
cmp ecx, 0x710e87fe
je 0x40b2a2
cmp ecx, 0x788b69fd
jne 0x40ac20
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0xc2afb98a
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x2d3a32b4
jmp 0x40ac01
cmp ecx, 0xb65049cb
jle 0x40b067
cmp ecx, 0xbcf52359
je 0x40b802
cmp ecx, 0xb65049cc
je 0x40b2d5
cmp ecx, 0xba870cde
jne 0x40ac20
mov eax, dword [0x4674b8]
mov ebx, 0xfd530487
mov ebp, 0xed591653
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xed591653
jmp 0x40b649
cmp ecx, 0xf775fc3e
jg 0x40b0a1
cmp ecx, 0xf39d68b3
je 0x40b2fc
cmp ecx, 0xf56d90c0
je 0x40b32e
cmp ecx, 0xf75393dd
jne 0x40ac20
mov eax, dword [0x4674b8]
mov ebx, 0xbd317edb
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x1726495c
sete al
cmove ecx, ebx
cmp dword [0x4674bc], 0xa
setl dl
cmovge ecx, esi
jmp 0x40b65c
cmp ecx, 0xc4c45b7d
jg 0x40b0db
cmp ecx, 0xbd317edb
je 0x40b3ad
cmp ecx, 0xc2afb98a
je 0x40b421
cmp ecx, 0xc3a3197b
jne 0x40ac20
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0xba870cde
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xed591653
jmp 0x40ac01
cmp ecx, 0x551572bb
jg 0x40b115
cmp ecx, 0x35541272
je 0x40b471
cmp ecx, 0x3a03b21a
je 0x40b487
cmp ecx, 0x507f4869
jne 0x40ac20
mov ecx, 0xf39d68b3
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0x83c73573
je 0x40b4ad
cmp ecx, 0x8427927d
je 0x40b4df
cmp ecx, 0x8558d819
jne 0x40ac20
mov eax, dword [0x4674b8]
mov ebx, 0xd51f75a1
mov ebp, 0xb65049cc
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xb65049cc
jmp 0x40b649
cmp ecx, 0xf23e4df
je 0x40b531
cmp ecx, 0x15487c3e
je 0x40b558
cmp ecx, 0x1726495c
jne 0x40ac20
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebx, 0x61695e01
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x15487c3e
jmp 0x40b44f
cmp ecx, 0xd854649d
je 0x40b585
cmp ecx, 0xdb15f8ae
je 0x40b59b
cmp ecx, 0xe6e8f666
jne 0x40ac20
push dword [esp + 0x1c]
push dword [0x46742c]
call fcn.00403bb0
add esp, 8
mov ecx, 0x94623db8
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0x61695e01
je 0x40b5b1
cmp ecx, 0x69d10911
je 0x40b5ef
cmp ecx, 0x6fb0bac3
jne 0x40ac20
mov ecx, 0xabef485d
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0xabef485d
je 0x40b605
cmp ecx, 0xb3c20aed
je 0x40b628
cmp ecx, 0xb5fa1613
jne 0x40ac20
mov ecx, 0x5d1f2333
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0xf775fc3f
je 0x40b672
cmp ecx, 0xf84d3de0
je 0x40b6a4
cmp ecx, 0xfd530487
jne 0x40ac20
mov ecx, 0xec982cb9
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0xc4c45b7e
je 0x40b6cb
cmp ecx, 0xc4f970a5
je 0x40b6e1
cmp ecx, 0xd51f75a1
jne 0x40ac20
mov ecx, 0xf75393dd
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0x551572bc
je 0x40b6f7
cmp ecx, 0x586cb614
je 0x40b71a
cmp ecx, 0x5d1f2333
jne 0x40ac20
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0xc3a3197b
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xb5fa1613
jmp 0x40ac01
cmp ecx, 0x94623db8
je 0x40b730
cmp ecx, 0x977ca307
jne 0x40ac20
mov ecx, 0x8427927d
mov edi, 0x8aafdc01
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0x2d3a32b4
je 0x40b769
cmp ecx, 0x32533998
jne 0x40ac20
push dword [esp + 0x48]
call fcn.0040a0f0
add esp, 4
mov ecx, 0x710e87fe
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp ecx, 0xed591653
je 0x40b77f
cmp ecx, 0xf3284d0e
jne 0x40ac20
mov eax, dword [0x4674b8]
mov ebx, 0x91c59141
mov ebp, 0x69d10911
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x69d10911
jmp 0x40b649
cmp ecx, 0x7d7d388e
je 0x40b795
cmp ecx, 0x7f0a4604
jne 0x40ac20
mov eax, dword [0x4674b8]
mov ebp, 0x788b69fd
mov ebx, 0x2d3a32b4
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x2d3a32b4
jmp 0x40b7b7
mov eax, dword [0x4674b8]
mov ebx, 0xec22c8d8
mov ebp, 0x586cb614
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x586cb614
jmp 0x40b649
mov eax, dword [0x4674b8]
mov ebp, 0xf84d3de0
mov ebx, 0x586cb614
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x586cb614
jmp 0x40b7b7
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov eax, dword [0x4674b8]
mov ebx, 0x3a03b21a
mov ebp, 0x921fd8bf
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x921fd8bf
jmp 0x40b649
mov eax, dword [0x4674b8]
mov ebx, 0xec982cb9
mov ebp, 0x83c73573
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x83c73573
jmp 0x40b649
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0x7d7d388e
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x507f4869
jmp 0x40ac01
mov ecx, 0x40be3b37
mov dword [esp + 0x20], 1
nop dword [eax + eax]
cmp ecx, 0x40be3b36
jg 0x40b370
cmp ecx, 0xffb23aed
je 0x40b35d
cmp ecx, 0x32e39e0a
jne 0x40b340
jmp 0x40b7e0
mov ecx, 0x32e39e0a
xor eax, eax
cmp ecx, 0x40be3b36
jle 0x40b348
nop dword [eax]
cmp ecx, 0x79ee965a
je 0x40b39c
cmp ecx, 0x40be3b37
jne 0x40b340
cmp dword [esp + 0x20], 0
mov ecx, 0xffb23aed
mov edx, 0x79ee965a
cmove ecx, edx
cmp ecx, 0x40be3b36
jle 0x40b348
jmp 0x40b370
mov ecx, 0x32e39e0a
mov al, 1
cmp ecx, 0x40be3b36
jle 0x40b348
jmp 0x40b370
mov eax, dword [esp + 0x14]
lea ecx, [esp + 4]
push ecx
push 0x40
push 0x549
push section..data
call eax
mov ecx, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, eax
mov esi, 0x551572bc
lea ebx, [ecx - 1]
imul ebx, ecx
mov ecx, ebx
xor ecx, 0xfffffffe
test ecx, ebx
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x1726495c
cmovne eax, esi
test ecx, ebx
mov ecx, eax
cmove ecx, esi
cmp edx, 0xa
mov esi, 0x1726495c
cmovge ecx, eax
test ebp, ebp
setne byte [esp + 0x1b]
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebx, 0xabef485d
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x6fb0bac3
cmovne eax, ebx
cmp ecx, 0xffffffff
mov ecx, eax
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, eax
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov ecx, 0x2549055c
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [0x4674b8]
mov ebp, 0xf39d68b3
mov ebx, 0x507f4869
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x507f4869
jmp 0x40b7b7
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0x26327a19
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xdb15f8ae
jmp 0x40ac01
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0x94623db8
mov dword [esp + 0x1c], edi
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xe6e8f666
cmovne ebx, ebp
test eax, ecx
mov ecx, ebx
cmove ecx, ebp
cmp edx, 0xa
cmovge ecx, ebx
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [0x4674b8]
mov ebx, 0x5d1f2333
mov ebp, 0xb5fa1613
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xb5fa1613
jmp 0x40b649
mov eax, dword [esp + 0x14]
lea ecx, [esp + 4]
push ecx
push 0x40
push 0x549
push section..data
call eax
mov ecx, 0x61695e01
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov ecx, 0xbd317edb
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov ecx, 0x26327a19
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [esp + 0x14]
lea ecx, [esp + 4]
push ecx
push 0x40
push 0x549
push section..data
call eax
mov eax, dword [0x4674b8]
mov ebp, 0xd854649d
mov ebx, 0x15487c3e
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x15487c3e
jmp 0x40b7b7
mov ecx, 0x91c59141
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [0x4674b8]
mov ebx, 0xf775fc3f
mov ebp, 0x6fb0bac3
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x6fb0bac3
jmp 0x40b649
mov eax, dword [0x4674b8]
mov ebx, 0xc4c45b7e
mov ebp, 0xc4f970a5
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xc4f970a5
sete al
cmove ecx, ebx
cmp dword [0x4674bc], 0xa
setl dl
cmovge ecx, ebp
xor dl, al
cmovne ecx, ebx
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [0x4674b8]
mov edx, dword [0x4674bc]
mov ebp, 0xb3c20aed
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc4f970a5
jmp 0x40ac01
mov eax, dword [0x4674b8]
mov ebp, 0x8558d819
mov ebx, 0x69d10911
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x69d10911
jmp 0x40b7b7
mov ecx, 0xf3284d0e
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov ecx, 0xb3c20aed
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
cmp byte [esp + 0x1b], 0
mov ecx, 0x710e87fe
mov eax, 0x32533998
cmovne ecx, eax
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov ecx, 0xec22c8d8
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
push dword [esp + 0x1c]
push dword [0x46742c]
call fcn.00403bb0
add esp, 8
mov dword [esp + 0x14], eax
mov eax, dword [0x4674b8]
mov ebp, 0x35541272
mov ebx, 0xe6e8f666
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xe6e8f666
jmp 0x40b7b7
mov ecx, 0x788b69fd
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov ecx, 0xba870cde
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov eax, dword [0x4674b8]
mov ebp, 0xbcf52359
mov ebx, 0x921fd8bf
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x921fd8bf
sete al
cmove ecx, ebp
cmp dword [0x4674bc], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, ebp
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
test al, 1
mov ecx, 0x977ca307
mov edx, 0x8427927d
cmovne ecx, edx
xor edi, edi
cmp ecx, 0xf39d68b2
jle 0x40ac28
jmp 0x40ac80
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.0043f0c1
xor eax, eax
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret