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

Disassembly:
sub esp, 0x3c8
mov eax, dword [0x34234fcc]
xor eax, esp
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3d0]
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
xor eax, eax
push 1
xor ebx, ebx
push ecx
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], ebx
call fcn.34209ba6
mov ecx, dword [edi + 4]
push ebx
push ebx
push 9
lea edx, [esp + 0x24]
push edx
mov edx, dword [edi]
lea eax, [esp + 0x1c]
push eax
push 0x342ea4e0
push 0x342d91a8
push ecx
push edx
call fcn.342e537b
mov esi, eax
push ebp
lea esp, [esp]
cmp esi, ebx
jl 0x342ea45a
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
push ebx
push eax
push ecx
call fcn.3420925c
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
lea ebp, [edi + 0x24]
mov ecx, ebp
call fcn.34304bbf
mov edx, dword [edi + 0x74]
push 0xffffffffffffffff
push edx
mov esi, eax
lea eax, [esp + 0x54]
push 0xc3
push eax
call dword [sym.imp.MSVCR90.dll_wcsncpy_s]
add esp, 0x10
push 0xc3
lea ecx, [esp + 0x50]
push ecx
push 0x34244ab8
call dword [sym.imp.MSO.dll_Ordinal_3084]
push 0xc3
cmp esi, 0x40
je 0x342ea1f3
lea edx, [esp + 0x50]
push edx
push esi
call fcn.342ffb10
push eax
jmp 0x342ea1fc
mov ecx, dword [edi + 0x78]
lea eax, [esp + 0x50]
push eax
push ecx
call dword [sym.imp.MSO.dll_Ordinal_3084]
lea eax, [esp + 0x4c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x342ea209
mov ecx, dword [esp + 0x20]
sub eax, edx
push ebx
sar eax, 1
push ebx
lea edx, [eax + eax]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x58]
push eax
mov eax, dword [edi]
push ecx
push edx
push eax
call fcn.3420a01e
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
lea ecx, [esp + 0x14]
push ecx
lea edx, [edi + 0x80]
push edx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.ole32.dll_StringFromCLSID]
test eax, eax
jl 0x342ea2a0
mov edx, dword [esp + 0x14]
cmp edx, ebx
je 0x342ea279
mov eax, edx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x342ea268
sub eax, esi
sar eax, 1
jmp 0x342ea27b
xor eax, eax
mov ecx, dword [esp + 0x24]
push ebx
push ebx
add eax, eax
push eax
mov eax, dword [edi]
push edx
mov edx, dword [esp + 0x20]
push ecx
push edx
push eax
call fcn.3420a01e
mov ecx, dword [esp + 0x14]
push ecx
mov esi, eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
cmp esi, ebx
jl 0x342ea45a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
push ebx
push ebx
push 4
lea edx, [esp + 0x3e8]
push edx
mov edx, dword [edi]
push eax
push ecx
push edx
call fcn.3420a01e
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
cmp byte [esp + 0x3e4], bl
je 0x342ea30c
mov eax, 0x342ea528
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x342ea2e4
mov ecx, dword [esp + 0x2c]
sub eax, edx
mov edx, dword [esp + 0x10]
push ebx
push ebx
sar eax, 1
add eax, eax
push eax
mov eax, dword [edi]
push 0x342ea528
push ecx
push edx
push eax
jmp 0x342ea33b
mov eax, 0x342ea534
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x342ea314
push ebx
sub eax, edx
mov edx, dword [esp + 0x30]
push ebx
sar eax, 1
lea ecx, [eax + eax]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [edi]
push 0x342ea534
push edx
push eax
push ecx
call fcn.3420a01e
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
mov eax, 0x342ea548
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x342ea354
mov ecx, dword [esp + 0x10]
sub eax, edx
push ebx
push ebx
sar eax, 1
lea edx, [eax + eax]
mov eax, dword [esp + 0x38]
push edx
mov edx, dword [edi]
push 0x342ea548
push eax
push ecx
push edx
call fcn.3420a01e
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
mov esi, dword [esp + 0x40]
push ebx
push ebx
push esi
call fcn.34220321
mov ecx, dword [esp + 0x18]
mov edx, dword [edi]
add eax, eax
push eax
mov eax, dword [esp + 0x40]
push esi
push eax
push ecx
push edx
call fcn.3420a01e
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
cmp byte [esp + 0x3e8], bl
jne 0x342ea415
push 0x100
lea eax, [esp + 0x1d8]
push eax
mov ecx, ebp
call fcn.34304bc3
mov ecx, eax
call fcn.3430416b
lea eax, [esp + 0x1d4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x342ea3e4
sub eax, edx
push ebx
push ebx
sar eax, 1
lea ecx, [eax + eax]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x1e0]
push edx
mov edx, dword [edi]
push eax
push ecx
push edx
call fcn.3420a01e
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
lea eax, [esp + 0x44]
push eax
call fcn.341f63d1
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
push ebx
push ebx
push 8
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [edi]
push edx
push eax
push ecx
call fcn.3420a01e
mov esi, eax
cmp esi, ebx
jl 0x342ea45a
mov edx, dword [esp + 0x10]
mov eax, dword [edi]
push ebx
push ebx
push ebx
push edx
push eax
call fcn.3420a15b
mov esi, eax
cmp esi, ebx
jge 0x342ea486
mov ecx, dword [esp + 0x10]
mov edx, dword [edi]
push 3
push ecx
push edx
call fcn.3420925c
test eax, eax
jl 0x342ea482
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [0x343f7d40]
jbe 0x342ea181
cmp esi, ebx
jl 0x342ea4a1
cmp byte [esp + 0x3e4], bl
jne 0x342ea496
mov byte [edi + 0x91], 1
cmp esi, ebx
jl 0x342ea4a1
mov byte [edi + 0x90], 1
mov eax, dword [esp + 0x10]
pop ebp
cmp eax, 0xffffffff
je 0x342ea4b4
push eax
mov eax, dword [edi]
push eax
call fcn.34207940
mov ecx, dword [edi]
push ebx
push ecx
call fcn.34209ba6
mov ecx, dword [esp + 0x3d0]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.341f1dd1
add esp, 0x3c8
ret 0x10