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

Disassembly:
push esi
push ebx
push ebp
fldcw word [0x58ac6c]
sub esp, 0x78
mov edx, edi
xor eax, eax
mov edi, esp
mov ecx, 0x1e
rep stosd dword es:[edi], eax
mov edi, edx
mov ecx, dword [0x58ac74]
mov ebp, dword fs:[0x2c]
mov ebp, dword [ebp + ecx*4]
xor eax, eax
inc eax
lock xadd dword [ebp + 0x10], eax
push eax
push 0x5bd8b4
push 0
push 0
push dword [ebp]
mov dword [ebp], esp
cmp dword [ebp + 0xc], 0
jne 0x5487eb
push dword [esp + 0x9c]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x41084c
mov eax, dword [eax]
mov dword [esp + 0x28], 0x808fffff
call dword [eax + 4]
lea esp, [esp + 4]
push dword [esp + 0xa0]
mov eax, dword [esp]
xor edx, edx
test eax, eax
je 0x4102b6
mov edx, dword [eax - 4]
push edx
push eax
mov dword [esp + 0x2c], 0x80c0022e
call dword [sym.imp.OLEAUT32.dll_DllRegisterServer]
lea ecx, [esp + 0x54]
mov edx, dword [ecx]
mov dword [ecx], eax
test edx, edx
je 0x4102d1
push edx
mov dword [esp + 0x28], 0x8080022e
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea esp, [esp + 4]
nop dword [eax]
nop dword [eax]
push dword [esp + 0x9c]
lea eax, [esp + 0x5c]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x4108a5
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c0022f
call dword [eax + 0x29c]
mov dword [esp + 0xc], eax
cmp eax, 0
jl 0x410890
push dword [esp + 0x5c]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x410886
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c0022f
call dword [eax + 0x34]
mov dword [esp + 0x10], eax
cmp eax, 0
jl 0x410864
lea ecx, [esp + 0x60]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x410368
push eax
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c0022f
call dword [eax + 8]
lea esp, [esp + 8]
nop dword [eax]
push dword [esp + 0x9c]
mov eax, dword [esp]
add eax, 0x64
mov eax, dword [eax]
push eax
mov eax, dword [esp]
cmp eax, 2
sete al
movzx eax, al
neg eax
test ax, ax
lea esp, [esp + 8]
je 0x4104e5
nop dword [eax]
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x24], 0x80400232
call fcn.00426c1e
push eax
mov edx, dword [esp]
mov dword [esp + 0x68], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x4108ca
push dword [esp + 0x68]
push dword [esp + 0xa4]
mov eax, dword [esp]
add eax, 0x8c
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x4103f6
push eax
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400232
call dword [eax + 4]
lea esi, [esp + 0x70]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
push dword [esp + 8]
push 0xffffffffffffffff
push 0x158
lea eax, [esp + 0x7c]
push eax
mov dword [esp + 0x40], 0x82000232
call fcn.00426dfe
push eax
mov edx, dword [esp]
mov dword [esp + 0x70], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x4108c0
push dword [esp + 0x70]
mov edx, dword [esp]
mov dword [esp + 0x6c], edx
push dword [esp + 0x78]
push 0x80000030
push dword [esp + 4]
mov eax, dword [esp + 0x18]
add eax, 0x8c
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x8c
add eax, 0xffffff74
push eax
push 0x5649a4
mov dword [esp + 0x50], 0x83000232
call fcn.0054a071
cmp eax, 0
jl 0x4108af
lea esp, [esp + 0x1c]
nop dword [eax]
push dword [esp + 0x54]
mov eax, dword [esp]
cmp eax, 0xffffffff
setne al
movzx eax, al
neg eax
test ax, ax
lea esp, [esp + 4]
je 0x4104dd
nop dword [eax]
push dword [esp + 0x54]
push dword [esp + 0xa0]
push dword [esp + 4]
push dword [esp + 4]
mov dword [esp + 0x30], 0x81000234
call fcn.0040fc2d
cmp eax, 0
jl 0x4108d2
lea esp, [esp + 8]
nop dword [eax]
jmp 0x4106f9
nop dword [eax]
nop dword [eax]
push dword [esp + 0x9c]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 4]
mov dword [esp + 0x2c], 0x80c00237
call fcn.0040ff10
cmp eax, 0
jl 0x410905
push dword [esp + 0x6c]
push dword [esp + 0x58]
push 0x30001
push 0
push dword [esp + 8]
push dword [esp + 0x10]
mov dword [esp + 0x3c], 0x81c00237
call dword [sym.imp.OLEAUT32.dll_VarR8Pow]
cmp eax, 0
jl 0x4108f4
cmp eax, 1
setne al
movzx eax, al
neg eax
test ax, ax
lea ecx, [esp + 0x74]
mov eax, dword [ecx]
mov dword [ecx], 0
push eax
setne byte [esp]
test eax, eax
je 0x410571
push eax
mov dword [esp + 0x34], 0x81400237
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [esp], 0
lea esp, [esp + 0x10]
je 0x4106f9
nop dword [eax]
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x24], 0x80400238
call fcn.00426c1e
push eax
mov edx, dword [esp]
mov dword [esp + 0x78], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x410932
push dword [esp + 0x78]
push dword [esp + 0xa4]
mov eax, dword [esp]
add eax, 0x8c
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x4105dd
push eax
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400238
call dword [eax + 4]
lea esi, [esp + 0x80]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
push dword [esp + 8]
push 0
push 0xc
lea eax, [esp + 0x8c]
push eax
mov dword [esp + 0x40], 0x82000238
call fcn.00426dfe
push eax
mov edx, dword [esp]
mov dword [esp + 0x80], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x410928
push dword [esp + 0x80]
push dword [esp + 0x88]
push 0x80000030
push dword [esp + 4]
mov eax, dword [esp + 0x18]
add eax, 0x8c
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x8c
add eax, 0xffffff74
push eax
push 0x564a34
mov dword [esp + 0x50], 0x83000238
call fcn.0054a071
cmp eax, 0
jl 0x410917
lea esp, [esp + 0x1c]
nop dword [eax]
push dword [esp + 0x9c]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x41095b
mov eax, dword [eax]
mov dword [esp + 0x28], 0x80800239
call dword [eax + 0x218]
mov dword [esp + 0xc], eax
cmp eax, 0
jl 0x41093a
lea esp, [esp + 4]
nop dword [eax]
lea eax, [esp + 0x78]
mov ecx, eax
add ecx, 0x10
mov dword [eax], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
push dword [esp + 0x9c]
lea eax, [esp + 0x7c]
push eax
push 1
push dword [esp + 8]
mov dword [esp + 0x30], 0x8100023a
call fcn.00478633
cmp eax, 0
jl 0x410964
lea esp, [esp + 4]
nop dword [eax]
push dword [esp + 0x9c]
mov eax, dword [esp]
add eax, 0xbc
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x410727
push eax
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c0023e
call dword [eax + 4]
lea esi, [esp + 0x90]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
test eax, eax
je 0x41074f
push eax
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c0023e
call dword [eax + 8]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x410998
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c0023e
call dword [eax + 0x7c]
mov dword [esp + 0x10], eax
cmp eax, 0
jl 0x410976
lea ecx, [esp + 0x90]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x4107a0
push eax
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c0023e
call dword [eax + 8]
lea esp, [esp + 8]
nop dword [eax]
lea ecx, [esp + 0x50]
mov eax, dword [ecx]
test eax, eax
je 0x4107c0
push eax
mov dword [esp + 0x24], 0x8040023f
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x58]
mov eax, dword [ecx]
test eax, eax
je 0x4107dc
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040023f
call dword [eax + 8]
lea ecx, [esp + 0x68]
mov eax, dword [ecx]
test eax, eax
je 0x4107f5
push eax
mov dword [esp + 0x24], 0x8040023f
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x88]
mov eax, dword [ecx]
test eax, eax
je 0x410814
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040023f
call dword [eax + 8]
push dword [esp + 0x9c]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x99daa1c3
mov eax, dword [eax]
mov dword [esp + 0x28], 0x8080023f
call dword [eax + 8]
lea esp, [esp + 4]
pop ecx
mov dword [ebp], ecx
pop eax
add esp, 0x84
pop ebp
pop ebx
pop esi
ret 8
pop edx
pop edx
mov eax, 0x800a005b
push eax
push eax
push 0x46000
push 0x3a8022e
call fcn.00560734
pop edx
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 8]
mov dword [ebp + 0x14], eax
mov eax, 0x564974
mov dword [ebp + 0x18], eax
push eax
push eax
push 0x94000
push 0x5f0022f
jmp 0x41085f
add esp, 0xc
mov eax, 0x800a005b
jmp 0x410878
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 4]
mov dword [ebp + 0x14], eax
mov eax, 0x564964
mov dword [ebp + 0x18], eax
jmp 0x410878
add esp, 0xc
mov eax, 0x800a005b
jmp 0x410878
add esp, 0x1c
push eax
push eax
push 0xef000
push 0xc100232
jmp 0x41085f
add esp, 0x14
mov eax, 0xeaeaea02
jmp 0x4108b2
pop edx
mov eax, 0xeaeaea02
jmp 0x4108b2
pop edx
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 8]
mov dword [ebp + 0x14], eax
xor eax, eax
mov dword [ebp + 0x18], eax
push eax
push eax
push 0x30000
push 0x14980234
call fcn.00560734
add esp, 0xc
push eax
push eax
push 0x9b000
push 0x16700237
jmp 0x4108ef
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 4]
mov dword [ebp + 0x14], eax
xor eax, eax
mov dword [ebp + 0x18], eax
jmp 0x4108f7
add esp, 0x1c
push eax
push eax
push 0xee000
push 0x1b480238
jmp 0x4108ef
add esp, 0x14
mov eax, 0xeaeaea02
jmp 0x41091a
pop edx
mov eax, 0xeaeaea02
jmp 0x41091a
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 4]
mov dword [ebp + 0x14], eax
mov eax, 0x564984
mov dword [ebp + 0x18], eax
push eax
push eax
push 0x3d000
push 0x22b80239
jmp 0x4108ef
pop edx
pop edx
mov eax, 0x800a005b
jmp 0x41094d
pop edx
push eax
push eax
push 0x4b000
push 0x24a0023a
call fcn.00560734
pop edx
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 8]
mov dword [ebp + 0x14], eax
mov eax, 0x564994
mov dword [ebp + 0x18], eax
push eax
push eax
push 0xab000
push 0x26f8023e
jmp 0x410971
add esp, 0xc
mov eax, 0x800a005b
jmp 0x41098a