Function at 0x4121d3
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x4a9f94
call fcn.004a50c0
sub esp, 0x28
push ebx
push esi
push edi
mov edi, ecx
push dword [ebp + 8]
and dword [edi + 0x30], 0
lea eax, [edi + 0x2c]
mov dword [ebp - 0x10], eax
push 0x40
mov eax, dword [eax]
push 0x4c81b0
and word [eax], 0
call fcn.004013ea
test al, al
jne 0x412224
push dword [edi + 0x20]
lea ecx, [ebp - 0x28]
push dword [edi + 0x14]
call fcn.00422643
lea eax, [ebp - 0x28]
push 0x4bba70
push eax
call fcn.004a50e0
push dword [0x4b11fc]
mov ebx, dword [0x4b1220]
call ebx
push eax
call dword [0x4b121c]
mov esi, dword [ebp + 0xc]
test eax, eax
setne al
mov byte [esi + 3], al
mov eax, dword [0x4b11fc]
add eax, 0x20
push eax
call ebx
push eax
call dword [0x4b121c]
test eax, eax
setne al
mov byte [esi + 4], al
mov eax, dword [0x4b11fc]
add eax, 0x40
push eax
call ebx
push eax
call dword [0x4b121c]
add esp, 0x18
test eax, eax
setne al
mov byte [esi + 5], al
mov eax, dword [edi]
cmp byte [eax], 0
jne 0x412292
cmp byte [eax + 0x14], 0
jne 0x412292
cmp byte [eax + 0x28], 0
jne 0x412292
xor eax, eax
jmp 0x412295
push 1
pop eax
mov byte [esi], al
mov eax, dword [edi]
mov al, byte [eax + 0xc8]
mov byte [esi + 9], al
mov eax, dword [edi]
mov al, byte [eax + 0x280]
mov byte [esi + 6], al
mov eax, dword [edi]
mov al, byte [eax + 0x294]
mov byte [esi + 7], al
mov eax, dword [edi]
cmp byte [eax + 0x3c], 0
sete al
mov byte [esi + 8], al
mov eax, dword [edi]
cmp byte [eax + 0x2f8], 0
je 0x4122f9
mov eax, dword [eax + 0x300]
lea ecx, [ebp - 0x28]
mov edx, dword [eax]
call fcn.004125de
and dword [ebp - 4], 0
push eax
lea ecx, [esi + 0x1c]
call fcn.00402843
push dword [ebp - 0x28]
or dword [ebp - 4], 0xffffffff
call fcn.00401e30
pop ecx
mov eax, dword [edi]
cmp byte [eax + 0x30c], 0
je 0x412315
cmp byte [eax + 0x30d], 0
mov byte [esi + 0xe], 1
sete al
mov byte [esi + 0xd], al
mov eax, dword [edi]
cmp byte [eax + 0x320], 0
je 0x41232f
cmp byte [eax + 0x321], 0
sete al
mov byte [0x4c86f8], al
mov eax, dword [edi]
mov al, byte [eax + 0x2e4]
mov byte [esi + 0xb], al
mov eax, dword [edi]
mov al, byte [eax + 0x64]
mov byte [esi + 0xc], al
mov eax, dword [edi]
cmp byte [eax + 0x50], 0
jne 0x412356
cmp byte [esi + 7], 0
jne 0x412356
cmp byte [esi + 4], 0
jne 0x41235d
and dword [esi + 0x230], 0
cmp byte [esi + 7], 0
je 0x41236a
and dword [esi + 0x228], 0
mov eax, dword [edi]
add eax, 0x8c
cmp byte [eax], 0
je 0x41237f
mov eax, dword [eax + 4]
mov dword [esi + 0x228], eax
mov eax, dword [edi]
add eax, 0xa0
cmp byte [eax], 0
je 0x412394
mov eax, dword [eax + 4]
mov dword [esi + 0x22c], eax
mov eax, dword [edi]
add eax, 0xb4
cmp byte [eax], 0
je 0x4123a9
mov eax, dword [eax + 4]
mov dword [esi + 0x230], eax
mov eax, dword [edi]
cmp byte [eax + 0x78], 0
je 0x4123ff
mov eax, dword [eax + 0x80]
mov ebx, dword [eax]
cmp dword [ebx + 4], 0
jne 0x4123cb
mov dword [esi + 0x234], 1
jmp 0x4123ff
mov ecx, dword [ebx]
lea edx, [ebp + 8]
call fcn.0041260b
test al, al
jne 0x4123f6
push dword [ebx]
lea ecx, [ebp - 0x28]
push str.Unsupported_switch_postfix__bb
call fcn.00422643
lea eax, [ebp - 0x28]
push 0x4bba70
push eax
call fcn.004a50e0
mov eax, dword [ebp + 8]
mov dword [esi + 0x234], eax
mov eax, dword [edi]
cmp byte [eax + 0x370], 0
je 0x412420
cmp byte [eax + 0x371], 0
sete al
mov byte [0x4c86e8], al
mov byte [esi + 2], al
mov byte [esi + 1], 1
call fcn.004125f3
mov eax, dword [edi]
cmp byte [eax + 0x2a8], 0
je 0x41246d
and dword [ebp + 8], 0
mov eax, dword [eax + 0x2b0]
mov esi, dword [eax]
cmp dword [esi + 4], 0
jne 0x412507
mov dword [ebp + 8], 1
call fcn.004097cf
cmp dword [ebp + 8], eax
jbe 0x41246d
call fcn.004893d0
mov dl, 1
mov ecx, str.SeLockMemoryPrivilege
call fcn.00409749
mov byte [0x4c8844], al
mov edi, dword [edi]
cmp byte [edi + 0x208], 0
je 0x4125b0
mov eax, dword [edi + 0x210]
mov esi, dword [eax]
cmp dword [esi + 4], 0
je 0x4125b0
lea ecx, [ebp - 0x1c]
call fcn.00402765
push dword [esi]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 1
call fcn.00402894
mov ebx, dword [ebp - 0x10]
push str.Set_process_affinity_mask:
mov ecx, ebx
call fcn.00403452
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp + 8]
call fcn.00403e12
mov edi, eax
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x4124d5
mov eax, dword [ebp - 0x1c]
and dword [ebp - 0x18], 0
and byte [eax], 0
cmp dword [ebp - 0x18], 0
je 0x4125c1
cmp edx, 1
jb 0x41254e
ja 0x4124ea
test edi, edi
jb 0x41254e
push dword [esi]
lea ecx, [ebp - 0x28]
push str.unsupported_value__stm
call fcn.00422643
lea eax, [ebp - 0x28]
push 0x4bba70
push eax
call fcn.004a50e0
mov eax, dword [esi]
push 0x4b201c
push eax
call dword [0x4b11dc]
pop ecx
test eax, eax
pop ecx
je 0x41244d
mov ecx, dword [esi]
lea edx, [ebp + 8]
call fcn.0041260b
test al, al
jne 0x41244d
push dword [esi]
lea ecx, [ebp - 0x28]
push str.Unsupported_switch_postfix_for__slp
call fcn.00422643
lea eax, [ebp - 0x28]
push 0x4bba70
push eax
call fcn.004a50e0
push edx
push edi
mov ecx, ebx
call fcn.00412646
push edi
call dword [0x4b10d8]
push eax
call dword [0x4b109c]
test eax, eax
jne 0x4125a0
call dword [0x4b10e4]
push str._:_ERROR_:
mov ecx, ebx
mov esi, eax
call fcn.00403452
mov edx, esi
lea ecx, [ebp - 0x28]
call fcn.00405c8c
push eax
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00403416
push dword [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00401e30
pop ecx
mov ecx, ebx
call fcn.00403397
push dword [ebp - 0x1c]
call fcn.00401e30
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8
push dword [esi]
lea ecx, [ebp - 0x34]
push str.Unsupported_switch_postfix__stm
call fcn.00422643
lea eax, [ebp - 0x34]
push 0x4bba70
push eax
call fcn.004a50e0