Function at 0x402540
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x505218
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
sub esp, 0x10
mov dword [esp + 0x70], ebx
mov eax, esp
mov dword [esp + 0x20], esp
push eax
lea ecx, [esp + 0x34]
call fcn.004036c0
push 5
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 1
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
mov ebp, dword [esp + 0x68]
lea eax, [esp + 0x30]
add ebp, 0xc
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 2
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x4025dd
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x4025f2
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x402611
add esi, 0x10
push esi
push str.._Dummies_CON
call fcn.00402f20
add esp, 8
test al, al
je 0x402dc2
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 6
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 3
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 4
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x402679
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x40268e
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x4026ad
add esi, 0x10
push esi
push str.._Dummies_
call fcn.00402f20
add esp, 8
test al, al
je 0x402dc2
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 7
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 5
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 6
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x402715
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x40272a
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x402749
add esi, 0x10
push esi
push 0x5351c4
call fcn.00402f20
add esp, 8
test al, al
je 0x402dc2
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 8
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 7
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 8
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x4027b1
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x4027c6
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x4027e5
add esi, 0x10
push esi
push 0x5351a8
call fcn.00402f20
add esp, 8
test al, al
je 0x402dc2
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 9
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 9
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0xa
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x40284d
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x402862
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x402881
add esi, 0x10
push esi
push 0x535188
call fcn.00402f20
add esp, 8
test al, al
je 0x402dc2
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0xa
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0xb
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0xc
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x4028e9
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x4028fe
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x40291d
add esi, 0x10
push esi
push 0x535168
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0xb
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0xd
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0xe
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x402985
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x40299a
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x4029b9
add esi, 0x10
push esi
push 0x535148
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0xc
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0xf
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0x10
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x402a21
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x402a36
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x402a55
add esi, 0x10
push esi
push 0x535128
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0x13
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0x11
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0x12
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x402abd
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x402ad2
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x402af1
add esi, 0x10
push esi
push 0x535108
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0x14
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0x13
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0x14
call fcn.00403600
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
je 0x402b59
push eax
call fcn.004eda9f
add esp, 4
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x402b6e
push eax
call fcn.004eda9f
add esp, 4
cmp byte [esp + 0x1c], bl
je 0x402b8d
add esi, 0x10
push esi
push 0x5350e8
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0x15
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0x15
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0x16
call fcn.00403600
mov ecx, dword [eax + 4]
mov edi, dword [eax]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], ecx
call fcn.00402e20
lea esi, [esp + 0x44]
mov byte [esp + 0x60], bl
call fcn.00402e20
cmp byte [esp + 0x1c], bl
je 0x402c19
add edi, 0x10
push edi
push 0x5350cc
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0x16
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0x17
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0x18
call fcn.00403600
mov ecx, dword [eax + 4]
mov edi, dword [eax]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], ecx
call fcn.00402e20
lea esi, [esp + 0x44]
mov byte [esp + 0x60], bl
call fcn.00402e20
cmp byte [esp + 0x1c], bl
je 0x402ca5
add edi, 0x10
push edi
push 0x5350ac
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0x17
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0x19
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0x1a
call fcn.00403600
mov ecx, dword [eax + 4]
mov edi, dword [eax]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], ecx
call fcn.00402e20
lea esi, [esp + 0x44]
mov byte [esp + 0x60], bl
call fcn.00402e20
cmp byte [esp + 0x1c], bl
je 0x402d31
add edi, 0x10
push edi
push 0x535088
call fcn.00402f20
add esp, 8
test al, al
je 0x402db9
sub esp, 0x10
mov edx, esp
mov dword [esp + 0x20], esp
push edx
lea ecx, [esp + 0x34]
call fcn.004036c0
push 0x18
lea esi, [esp + 0x58]
call fcn.004046c0
add esp, 0x14
mov byte [esp + 0x60], 0x1b
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 4]
push edx
call fcn.004036c0
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x14]
mov eax, ebp
mov byte [esp + 0x64], 0x1c
call fcn.00403600
mov ecx, dword [eax + 4]
mov edi, dword [eax]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], ecx
call fcn.00402e20
lea esi, [esp + 0x44]
mov byte [esp + 0x60], bl
call fcn.00402e20
cmp byte [esp + 0x1c], bl
je 0x402dd9
add edi, 0x10
push edi
push 0x535064
call fcn.00402f20
add esp, 8
test al, al
jne 0x402dd9
lea esi, [esp + 0x20]
call fcn.00403c10
xor al, al
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 8
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push edx
push eax
push ebp
push 0x535048
call fcn.00403100
add esp, 0x10
lea esi, [esp + 0x20]
mov bl, al
call fcn.00403c10
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
mov al, bl
mov dword fs:[0], ecx
pop ebx
add esp, 0x54
ret 8