Function at 0x41ffe0
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4627c8
mov edx, dword [esp + 0xc]
push eax
mov dword fs:[0], esp
sub esp, 0xc9c
push ebx
xor ebx, ebx
cmp edx, ebx
push esi
je 0x420485
push edi
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x8a8]
rep stosd dword es:[edi], eax
mov ecx, 0x100
lea edi, [esp + 0x4a8]
rep stosd dword es:[edi], eax
push ebx
push 0x43
lea eax, [esp + 0x8b0]
push edx
push eax
call fcn.00408de0
add esp, 0x10
mov esi, eax
cmp si, bx
pop edi
jl 0x420485
lea ecx, [esp + 0x30]
call fcn.004226e0
push ebx
lea ecx, [esp + 0x34]
mov dword [esp + 0xcb0], ebx
call fcn.00422760
lea ecx, [esp + 0x4a4]
lea edx, [esp + 0x8a4]
push ecx
push esi
push edx
lea ecx, [esp + 0x3c]
call fcn.00422800
mov eax, dword [0x4812c4]
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1c]
mov byte [esp + 0xcac], 6
push eax
call fcn.00419b70
add esp, 4
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xcac], 7
cmp dword [ecx - 8], ebx
je 0x4203fb
push 0x485680
mov ecx, 0x48593c
call fcn.0044599d
push 0x485680
mov ecx, 0x485930
call fcn.0044599d
push 0x485680
mov ecx, 0x485934
call fcn.0044599d
push ebx
lea edx, [esp + 0x4a8]
push 0x41
push edx
push 0x48593c
call fcn.00408fc0
push ebx
lea eax, [esp + 0x4b8]
push 0x42
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00408fc0
add esp, 0x20
cmp ax, 0x42
jne 0x4203fb
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
push edx
push eax
call fcn.0042d100
add esp, 8
test eax, eax
jne 0x4203fb
lea ecx, [esp + 0xc]
push ecx
mov ecx, 0x485930
call fcn.0044594d
push ebx
lea edx, [esp + 0x4a8]
push 1
lea eax, [esp + 0x10]
push edx
push eax
call fcn.00408fc0
add esp, 0x10
cmp ax, 1
jne 0x4203fb
mov ecx, dword [esp + 8]
cmp dword [ecx - 8], ebx
je 0x4203fb
lea edx, [esp + 8]
mov ecx, 0x485934
push edx
call fcn.0044594d
push ebx
lea eax, [esp + 0x4a8]
push 0x45
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.00408fc0
add esp, 0x10
cmp ax, 0x45
mov dword [0x48594c], ebx
jne 0x420355
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
je 0x420355
push eax
call fcn.0042d28a
add esp, 4
mov dword [0x48594c], eax
test al, 2
je 0x420314
push ebx
lea edx, [esp + 0x4a8]
push 0x1b
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.00408fc0
add esp, 0x10
cmp ax, 0x1b
jne 0x4203fb
mov eax, dword [esp + 0x14]
cmp dword [eax - 8], ebx
je 0x4203fb
push 0x400
push ebx
push eax
mov ecx, 0x485940
call fcn.004251fd
push 0x3b
push 0x3b
push 0x17
mov ecx, 0x485940
call fcn.004250b3
push eax
mov ecx, 0x485940
call fcn.00425089
push eax
mov ecx, 0x485940
call fcn.0042505f
push eax
mov ecx, 0x485940
call fcn.004251d2
lea ecx, [esp + 0x24]
push ecx
call fcn.0042503d
push eax
mov ecx, 0x485940
call fcn.00425166
test eax, eax
je 0x42030f
lea ecx, [esp + 0x1c]
mov byte [esp + 0xcac], 6
call fcn.00445814
lea ecx, [esp + 0x18]
mov byte [esp + 0xcac], 5
call fcn.00445814
lea ecx, [esp + 0x20]
mov byte [esp + 0xcac], 4
call fcn.00445814
lea ecx, [esp + 0x14]
mov byte [esp + 0xcac], 3
call fcn.00445814
lea ecx, [esp + 0x10]
mov byte [esp + 0xcac], 2
call fcn.00445814
lea ecx, [esp + 8]
mov byte [esp + 0xcac], 1
call fcn.00445814
lea ecx, [esp + 0xc]
mov byte [esp + 0xcac], bl
call fcn.00445814
lea ecx, [esp + 0x30]
mov dword [esp + 0xcac], 0xffffffff
call fcn.00421480
pop esi
mov eax, 2
pop ebx
mov ecx, dword [esp + 0xc9c]
mov dword fs:[0], ecx
add esp, 0xca8
ret
mov eax, dword [0x48594c]
test al, 8
je 0x4203fb
test al, 4
je 0x420355
push ebx
lea edx, [esp + 0x4a8]
push 0x46
lea eax, [esp + 0x20]
push edx
push eax
call fcn.00408fc0
add esp, 0x10
cmp ax, 0x46
jne 0x420355
mov eax, dword [esp + 0x18]
cmp dword [eax - 8], ebx
je 0x420355
push eax
call fcn.0042d28a
add esp, 4
mov dword [0x485954], eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xcac], 6
call fcn.00445814
lea ecx, [esp + 0x18]
mov byte [esp + 0xcac], 5
call fcn.00445814
lea ecx, [esp + 0x20]
mov byte [esp + 0xcac], 4
call fcn.00445814
lea ecx, [esp + 0x14]
mov byte [esp + 0xcac], 3
call fcn.00445814
lea ecx, [esp + 0x10]
mov byte [esp + 0xcac], 2
call fcn.00445814
lea ecx, [esp + 8]
mov byte [esp + 0xcac], 1
call fcn.00445814
lea ecx, [esp + 0xc]
mov byte [esp + 0xcac], bl
call fcn.00445814
lea ecx, [esp + 0x30]
mov dword [esp + 0xcac], 0xffffffff
call fcn.00421480
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xc9c]
mov dword fs:[0], ecx
add esp, 0xca8
ret
lea ecx, [esp + 0x1c]
mov byte [esp + 0xcac], 6
call fcn.00445814
lea ecx, [esp + 0x18]
mov byte [esp + 0xcac], 5
call fcn.00445814
lea ecx, [esp + 0x20]
mov byte [esp + 0xcac], 4
call fcn.00445814
lea ecx, [esp + 0x14]
mov byte [esp + 0xcac], 3
call fcn.00445814
lea ecx, [esp + 0x10]
mov byte [esp + 0xcac], 2
call fcn.00445814
lea ecx, [esp + 8]
mov byte [esp + 0xcac], 1
call fcn.00445814
lea ecx, [esp + 0xc]
mov byte [esp + 0xcac], bl
call fcn.00445814
lea ecx, [esp + 0x30]
mov dword [esp + 0xcac], 0xffffffff
call fcn.00421480
mov ecx, dword [esp + 0xca4]
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0xca8
ret