Function at 0x414d10
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d3b50
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x540c80]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
push 0x51c110
lea ecx, [esp + 0x14]
call fcn.004025a0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x40]
call fcn.00421510
mov ebx, eax
mov byte [esp + 0x50], 1
lea edx, [esp + 0x10]
lea ecx, [esp + 0x3c]
call fcn.00421da0
mov edi, eax
mov byte [esp + 0x50], 2
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call fcn.00415050
mov byte [esp + 0x50], 3
mov edx, eax
lea ecx, [esp + 0x34]
call fcn.00421da0
mov esi, eax
mov byte [esp + 0x50], 4
mov edx, dword [ebp + 8]
push 0x51c13c
lea ecx, [esp + 0x34]
call fcn.00418660
add esp, 4
mov byte [esp + 0x50], 5
push dword [ebp + 0xc]
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.0040f160
add esp, 4
mov byte [esp + 0x50], 6
push str._action
mov edx, eax
lea ecx, [esp + 0x2c]
call fcn.00418660
add esp, 4
mov byte [esp + 0x50], 7
push dword [ebp + 0x10]
mov edx, eax
lea ecx, [esp + 0x28]
call fcn.0040f160
add esp, 4
mov byte [esp + 0x50], 8
push esi
mov edx, eax
lea ecx, [esp + 0x24]
call fcn.0040f160
add esp, 4
mov byte [esp + 0x50], 9
push dword [ebp + 0x14]
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.0040f160
add esp, 4
mov byte [esp + 0x50], 0xa
push edi
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.0040f160
add esp, 4
mov byte [esp + 0x50], 0xb
push ebx
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.0040f160
add esp, 4
mov byte [esp + 0x50], 0xd
mov edx, dword [esp + 0x18]
add edx, 0xfffffff0
or esi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x414e6a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0xf
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414e8c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x11
mov edx, dword [esp + 0x20]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414eae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x13
mov edx, dword [esp + 0x24]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414ed0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x15
mov edx, dword [esp + 0x28]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414ef2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x17
mov edx, dword [esp + 0x2c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414f14
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x19
mov edx, dword [esp + 0x30]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414f36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x1b
mov edx, dword [esp + 0x34]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414f58
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x1d
mov edx, dword [esp + 0x38]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414f7a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x1f
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414f9c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x21
mov edx, dword [esp + 0x40]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414fbe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x50], 0x23
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414fe0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x545d90]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x16
idiv ecx
mov eax, dword [0x545fe0]
mov ecx, 0x2a399d77
cmp edx, 0xb
cmove eax, ecx
lea ecx, [esp + 0x14]
mov dword [0x545fe0], eax
call fcn.00425f80
mov bl, al
mov dword [esp + 0x50], 0xffffffff
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
lock xadd dword [ecx], esi
dec esi
test esi, esi
jg 0x415037
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, bl
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10