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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c0693
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [0x503298]
xor eax, esp
mov dword [esp + 0xe8], eax
push ebx
push esi
push edi
mov eax, dword [0x503298]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
xor eax, eax
push str.9dea862c_5cdd_4e70_acc1_f32b344d4795
lea ecx, [esp + 0x9c]
mov byte [esi], bl
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], ebx
mov word [esp + 0x9c], ax
call fcn.004022fb
mov dword [esp + 0x108], ebx
xor eax, eax
push str.fa926493_6f1c_4193_a414_58f0b2456d1e
lea ecx, [esp + 0xb4]
mov dword [esp + 0xc8], 7
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], ax
call fcn.004022fb
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x10c], 1
call fcn.0040160f
pop ecx
mov byte [esp + 0x108], 2
cmp dword [esp + 0x38], ebx
je 0x401ef2
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x40]
call fcn.00401580
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x110], 3
call fcn.0040191e
mov byte [esp + 0x108], 4
cmp dword [esp + 0x30], ebx
je 0x401ee0
cmp dword [esp + 0x28], ebx
je 0x401ee0
push ebx
push 0x4dc534
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x3c]
call fcn.00403a78
push 0x24000001
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x110], 5
call fcn.00401a05
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x10c], 6
call fcn.0040154b
mov byte [esp + 0x108], 7
cmp dword [esp + 0x58], ebx
je 0x401e36
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x4c]
push 0x18
cdq
pop ecx
idiv ecx
mov edi, ebx
test eax, eax
je 0x401e36
push edi
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x54]
call fcn.0040149d
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x110], 8
call fcn.00401580
lea ecx, [esp + 0xe0]
mov byte [esp + 0x108], 0xa
call fcn.00401fea
cmp dword [esp + 0x14], 0
je 0x401de2
push ebx
push 0x4dc534
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x20]
call fcn.00403a78
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xcc]
call fcn.00402bcb
test eax, eax
je 0x401e0c
lea ecx, [esp + 0x80]
call fcn.00401fea
lea ecx, [esp + 0x14]
mov byte [esp + 0x108], 7
call fcn.0040121c
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x4c]
push 0x18
cdq
pop ecx
idiv ecx
inc edi
cmp edi, eax
jb 0x401d63
jmp 0x401e36
lea eax, [esp + 0x14]
lea ecx, [esi + 4]
push eax
call fcn.0040150d
lea ecx, [esp + 0x80]
call fcn.00401fea
lea ecx, [esp + 0x14]
mov byte [esp + 0x108], 7
call fcn.0040121c
lea ecx, [esi + 4]
cmp dword [ecx], ebx
je 0x401ea7
push 0x16000049
lea eax, [esp + 0x84]
push eax
mov byte [esi], 1
call fcn.00401a05
mov byte [esp + 0x108], 0xb
cmp dword [esp + 0x80], 0
je 0x401e8f
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x84]
call fcn.0040129e
cmp word [esp + 0x1c], 0
setne al
mov byte [esi + 1], al
mov byte [esi + 2], al
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x8c]
call fcn.0040121c
lea ecx, [esp + 0x80]
call fcn.0040121c
lea ecx, [esp + 0x64]
call fcn.0040121c
lea ecx, [esp + 0x58]
call fcn.0040121c
lea ecx, [esp + 0x4c]
call fcn.004020c8
lea ecx, [esp + 0x78]
call fcn.0040121c
lea ecx, [esp + 0x6c]
call fcn.0040121c
lea ecx, [esp + 0xc8]
call fcn.00401fea
lea ecx, [esp + 0x30]
call fcn.0040121c
lea ecx, [esp + 0x28]
call fcn.0040121c
mov bl, byte [esi]
lea ecx, [esp + 0x40]
call fcn.004025c5
lea ecx, [esp + 0x38]
call fcn.0040121c
lea ecx, [esp + 0xb0]
call fcn.00401fea
lea ecx, [esp + 0x98]
call fcn.00401fea
mov al, bl
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.004a40c7
mov esp, ebp
pop ebp
ret