Function at 0x401d60
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x354
push ebx
push ebp
mov ebp, dword [esp + 0x364]
push esi
push edi
mov ecx, 0x10
mov ebx, dword [ebp + 0x3c]
xor eax, eax
lea edi, [esp + 0x58]
add ebx, ebp
mov dword [esp + 0x54], 0
push 0x40
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x50]
push 0x1000
push eax
push 0
mov dword [esp + 0x20], ebx
call dword [0x7a5830]
mov ecx, dword [ebx + 0x50]
mov edx, eax
mov esi, ecx
xor eax, eax
mov edi, edx
mov dword [esp + 0x24], edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [0x407bac]
cmp eax, 0x3c
jle 0x401dcc
cmp eax, 0x6e
jle 0x401dd6
cmp eax, 0xffffffb6
jle 0x401def
cmp eax, 0xffffffca
jg 0x401def
mov ecx, dword [0xb52d5c]
mov dword [0xb52f2c], 0x32
add ecx, 0x28
mov dword [0xb52d5c], ecx
cmp eax, 0x32
jle 0x401dfe
cmp eax, 0xfffffff2
jle 0x401e15
cmp eax, 6
jg 0x401e15
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x14
add eax, 0xa
mov dword [0xb52d5c], eax
mov ecx, dword [ebx + 0x54]
mov edi, edx
mov edx, ecx
mov esi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
xor edx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x38]
mov eax, esi
div ecx
mov eax, esi
test edx, edx
je 0x401e44
xor edx, edx
div ecx
inc eax
imul eax, ecx
mov ecx, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0x1c], eax
call dword [sym.imp.MSVCRT.dll_rand]
mov esi, eax
and esi, 0x80000003
jns 0x401e63
dec esi
or esi, 0xfffffffc
inc esi
mov eax, dword [0xb52f14]
inc esi
cmp esi, 1
mov dword [0xb52d68], esi
jne 0x401e80
mov dword [0xb52df8], 0
jmp 0x401e92
cmp esi, 2
jne 0x401e9b
mov ecx, dword [0xb52f24]
dec ecx
mov dword [0xb52df8], ecx
lea edx, [eax - 1]
mov dword [0xb59c74], edx
cmp word [ebx + 6], 0
mov dword [esp + 0x18], 0
jbe 0x401f94
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
mov esi, dword [ebp + 0x3c]
add eax, esi
lea ebx, [eax + ebp + 0xf8]
call dword [sym.imp.MSVCRT.dll_rand]
mov esi, eax
and esi, 0x80000003
jns 0x401edf
dec esi
or esi, 0xfffffffc
inc esi
inc esi
mov dword [0xb52d68], esi
mov eax, dword [ebx + 0x10]
test eax, eax
jbe 0x401f49
cmp esi, 1
jne 0x401efe
mov dword [0xb52df8], 0
jmp 0x401f10
cmp esi, 2
jne 0x401f1d
mov edx, dword [0xb52f24]
dec edx
mov dword [0xb52df8], edx
mov ecx, dword [0xb52f14]
dec ecx
mov dword [0xb59c74], ecx
mov ecx, dword [ebx + 8]
cmp eax, ecx
jbe 0x401f26
mov eax, ecx
mov esi, dword [ebx + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, eax
add esi, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0xb52d68]
mov edi, dword [esp + 0x10]
mov ebx, dword [ebx + 8]
mov ecx, dword [edi + 0x38]
mov eax, ebx
xor edx, edx
div ecx
mov eax, ebx
test edx, edx
je 0x401f63
xor edx, edx
div ecx
inc eax
imul eax, ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
add edx, eax
mov eax, dword [esp + 0x18]
xor ecx, ecx
inc eax
mov cx, word [edi + 6]
add ebx, 0x28
cmp eax, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ebx
jl 0x401eba
mov eax, dword [0xb52f14]
cmp esi, 1
jne 0x401fa5
mov dword [0xb52df8], 0
jmp 0x401fb7
cmp esi, 2
jne 0x401fbd
mov edx, dword [0xb52f24]
dec edx
mov dword [0xb52df8], edx
dec eax
mov dword [0xb59c74], eax
mov eax, dword [0x407bac]
mov esi, 0x28
cmp eax, esi
mov edi, 0x1e
jle 0x401fd5
cmp eax, 0x5a
jle 0x401fdf
cmp eax, 0xffffffca
jle 0x401ff1
cmp eax, 0xffffffde
jg 0x401ff1
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], esi
add eax, edi
mov dword [0xb52d5c], eax
lea eax, [esp + 0x28]
mov edx, dword [esp + 0x368]
lea ecx, [esp + 0x54]
push eax
push ecx
push 0
push 0
push 4
push 0
push 0
push 0
push edx
push 0
call dword [0xb52f00]
mov eax, dword [0x407bac]
cmp eax, esi
jle 0x402025
cmp eax, 0x5a
jle 0x40202f
cmp eax, 0xffffffca
jle 0x402043
cmp eax, 0xffffffde
jg 0x402043
mov ecx, dword [0xb52d5c]
mov dword [0xb52f2c], esi
add ecx, edi
mov dword [0xb52d5c], ecx
cmp eax, 0x3c
jle 0x40204d
cmp eax, 0x6e
jle 0x402057
cmp eax, 0xffffffb6
jle 0x40206d
cmp eax, 0xffffffca
jg 0x40206d
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x32
add eax, esi
mov dword [0xb52d5c], eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x98]
push eax
push ecx
mov dword [esp + 0xa0], 0x10007
call dword [0xb52d94]
mov edx, dword [esp + 0x10]
mov eax, dword [0xb52d68]
cmp eax, 1
mov ebp, dword [edx + 0x34]
mov esi, ebp
jne 0x4020b5
mov eax, dword [0xb52f14]
mov dword [0xb52df8], 0
dec eax
mov dword [0xb59c74], eax
jmp 0x4020d4
cmp eax, 2
jne 0x4020d4
mov ecx, dword [0xb52f24]
mov edx, dword [0xb52f14]
dec ecx
dec edx
mov dword [0xb52df8], ecx
mov dword [0xb59c74], edx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x38]
push 0x1c
push eax
push ebp
push ecx
call dword [0xb56d5c]
test eax, eax
je 0x4021c7
mov edi, dword [sym.imp.MSVCRT.dll_rand]
mov ebx, 0x10000
mov eax, dword [0x407bac]
cmp eax, 0x3c
jle 0x402109
cmp eax, 0x6e
jle 0x402113
cmp eax, 0xffffffb6
jle 0x40212c
cmp eax, 0xffffffca
jg 0x40212c
mov ecx, dword [0xb52d5c]
mov dword [0xb52f2c], 0x32
add ecx, 0x28
mov dword [0xb52d5c], ecx
cmp dword [esp + 0x48], ebx
je 0x4021cc
mov ecx, dword [0xb52d68]
cmp ecx, 1
jne 0x40214d
mov dword [0xb52df8], 0
jmp 0x40215f
cmp ecx, 2
jne 0x40216c
mov ecx, dword [0xb52f24]
dec ecx
mov dword [0xb52df8], ecx
mov edx, dword [0xb52f14]
dec edx
mov dword [0xb59c74], edx
mov edx, dword [esp + 0x44]
add esi, edx
cmp eax, 0x32
jle 0x402181
cmp eax, 0xfffffff2
jle 0x402198
cmp eax, 6
jg 0x402198
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x14
add eax, 0xa
mov dword [0xb52d5c], eax
call edi
and eax, 0x80000003
jns 0x4021a6
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [esp + 0x28]
inc eax
mov dword [0xb52d68], eax
lea eax, [esp + 0x38]
push 0x1c
push eax
push esi
push ecx
call dword [0xb56d5c]
test eax, eax
jne 0x4020fa
mov eax, dword [0x407bac]
sub esi, ebp
mov ecx, esi
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x34], ebp
jne 0x402260
cmp dword [esi + 0x50], ecx
ja 0x402260
cmp eax, 0x28
jle 0x4021ec
cmp eax, 0x5a
jle 0x4021f6
cmp eax, 0xffffffca
jle 0x40220d
cmp eax, 0xffffffde
jg 0x40220d
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x28
add eax, 0x1e
mov dword [0xb52d5c], eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x18]
push edx
push 0x40
push ecx
push ebp
push eax
mov dword [esp + 0x28], ebp
call dword [0xb52ef8]
mov eax, dword [0x407bac]
cmp eax, 0x32
jle 0x402241
cmp eax, 0xfffffff2
jle 0x402365
cmp eax, 6
jg 0x402365
mov ecx, dword [0xb52d5c]
mov ebx, 0x14
add ecx, 0xa
mov dword [0xb52f2c], ebx
mov dword [0xb52d5c], ecx
jmp 0x40236a
mov ecx, dword [0xb52d68]
cmp ecx, 1
jne 0x402277
mov dword [0xb52df8], 0
jmp 0x402289
cmp ecx, 2
jne 0x402296
mov edx, dword [0xb52f24]
dec edx
mov dword [0xb52df8], edx
mov ecx, dword [0xb52f14]
dec ecx
mov dword [0xb59c74], ecx
cmp eax, 0x3c
jle 0x4022a0
cmp eax, 0x6e
jle 0x4022aa
cmp eax, 0xffffffb6
jle 0x4022c1
cmp eax, 0xffffffca
jg 0x4022c1
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x32
add eax, 0x28
mov dword [0xb52d5c], eax
mov edx, dword [esp + 0x28]
push ebp
push edx
call dword [0xb52be0]
mov eax, dword [0x407bac]
mov ebx, 0x14
cmp eax, ebx
jle 0x4022e0
cmp eax, 0x46
jle 0x4022ea
cmp eax, 0xffffffde
jle 0x402300
cmp eax, 0xfffffff2
jg 0x402300
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x1e
add eax, ebx
mov dword [0xb52d5c], eax
mov eax, dword [0xb52d68]
cmp eax, 1
jne 0x402321
mov eax, dword [0xb52f14]
mov dword [0xb52df8], 0
dec eax
mov dword [0xb59c74], eax
jmp 0x402340
cmp eax, 2
jne 0x402340
mov ecx, dword [0xb52f24]
mov edx, dword [0xb52f14]
dec ecx
dec edx
mov dword [0xb52df8], ecx
mov dword [0xb59c74], edx
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x34]
mov edx, dword [esp + 0x28]
push 0x40
push 0x3000
push eax
push ecx
push edx
call dword [0xb52ee4]
mov dword [esp + 0x14], eax
mov eax, dword [0x407bac]
jmp 0x40236a
mov ebx, 0x14
cmp eax, ebx
jle 0x402373
cmp eax, 0x46
jle 0x40237d
cmp eax, 0xffffffde
jle 0x402398
cmp eax, 0xfffffff2
jg 0x402398
mov ecx, dword [0xb52d5c]
mov edi, 0x1e
add ecx, ebx
mov dword [0xb52f2c], edi
mov dword [0xb52d5c], ecx
jmp 0x40239d
mov edi, 0x1e
cmp eax, 0x28
jle 0x4023a7
cmp eax, 0x5a
jle 0x4023b1
cmp eax, 0xffffffca
jle 0x4023c7
cmp eax, 0xffffffde
jg 0x4023c7
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x28
add eax, edi
mov dword [0xb52d5c], eax
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0x28]
push 0
lea eax, [esp + 0x18]
push 4
add ecx, 8
push eax
push ecx
push edx
call dword [0xb56d64]
mov eax, dword [esi + 0x50]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
push 0
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
call dword [0xb56d64]
mov eax, dword [0x407bac]
cmp eax, ebx
jle 0x40240f
cmp eax, 0x46
jle 0x402419
cmp eax, 0xffffffde
jle 0x40242d
cmp eax, 0xfffffff2
jg 0x40242d
mov ecx, dword [0xb52d5c]
mov dword [0xb52f2c], edi
add ecx, ebx
mov dword [0xb52d5c], ecx
mov ecx, dword [0xb52d68]
cmp ecx, 1
jne 0x402444
mov dword [0xb52df8], 0
jmp 0x402456
cmp ecx, 2
jne 0x402463
mov edx, dword [0xb52f24]
dec edx
mov dword [0xb52df8], edx
mov ecx, dword [0xb52f14]
dec ecx
mov dword [0xb59c74], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], 0x10007
mov edx, dword [esi + 0x28]
cmp ecx, ebp
jne 0x4024a4
mov edi, dword [esi + 0x34]
add edx, edi
cmp eax, 0x32
mov dword [esp + 0x148], edx
jle 0x402494
cmp eax, 0xfffffff2
jle 0x4024d8
cmp eax, 6
jg 0x4024d8
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], ebx
add eax, 0xa
jmp 0x4024d3
add edx, ecx
cmp eax, 0x3c
mov dword [esp + 0x148], edx
jle 0x4024b7
cmp eax, 0x6e
jle 0x4024c1
cmp eax, 0xffffffb6
jle 0x4024d8
cmp eax, 0xffffffca
jg 0x4024d8
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x32
add eax, 0x28
mov dword [0xb52d5c], eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x98]
push eax
push ecx
call dword [0xb52df4]
mov eax, dword [0x407bac]
pop edi
pop esi
pop ebp
cmp eax, 0x3c
pop ebx
jle 0x4024fe
cmp eax, 0x6e
jle 0x402508
cmp eax, 0xffffffb6
jle 0x40251f
cmp eax, 0xffffffca
jg 0x40251f
mov eax, dword [0xb52d5c]
mov dword [0xb52f2c], 0x32
add eax, 0x28
mov dword [0xb52d5c], eax
mov edx, dword [esp + 0x1c]
push edx
call dword [0xb52ee0]
add esp, 0x354
ret