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

Disassembly:
sub esp, 0x1c0
mov eax, dword [0x34234fcc]
xor eax, esp
mov dword [esp + 0x1bc], eax
mov edx, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1cc]
push ebx
push ebp
mov ebp, dword [esp + 0x1d8]
push esi
xor esi, esi
or eax, 0xffffffff
push edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
cmp edx, 3
je 0x342f0298
mov dword [esp + 0x14], esi
cmp edx, 2
jne 0x342f02a0
mov dword [esp + 0x14], 1
mov edi, dword [esp + 0x1d8]
mov ebx, dword [esp + 0x1d4]
push 2
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1ec]
or eax, 0x80
push eax
push esi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1c]
push eax
push 0x1c
lea edx, [esp + 0x38]
push edx
push esi
push esi
push ecx
push 0x34226578
push edi
push ebx
call fcn.3421b4c3
mov esi, eax
test esi, esi
jl 0x342f08a0
cmp dword [esp + 0x14], 0
je 0x342f0326
mov eax, dword [esp + 0x1c]
push 3
push eax
push 0
lea ecx, [esp + 0x1c]
push ecx
push 0x1c
lea edx, [esp + 0x58]
push edx
push 0
push 0
push ebp
push 0x34226578
push edi
push ebx
call fcn.3421b4c3
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x28]
push 0
push 0
push eax
push ebx
call fcn.34209c8c
test eax, eax
jne 0x342f0392
mov ebp, dword [esp + 0x14]
neg ebp
sbb ebp, ebp
lea ecx, [esp + 0x44]
and ebp, ecx
nop
mov edx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x18]
push edx
push eax
push 0
push ecx
push 0x34226578
push ebp
lea edx, [esp + 0x3c]
push edx
push edi
push ebx
call fcn.342ee124
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x28]
push 0
push 1
push eax
push ebx
call fcn.34209c8c
test eax, eax
je 0x342f0348
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
push ecx
push ebx
call fcn.34207940
mov edx, dword [esp + 0x1c]
push 3
push edx
mov edx, dword [esp + 0x48]
push 0
lea eax, [esp + 0x1c]
push eax
push 0x1c
lea ecx, [esp + 0x38]
push ecx
push 0
push 0
push edx
push 0x34226578
push edi
push ebx
mov dword [esp + 0x58], 0xffffffff
call fcn.3421b4c3
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x28]
push 0
push 0
push eax
push ebx
call fcn.34209c8c
test eax, eax
jl 0x342f060b
cmp dword [esp + 0x1e4], 1
je 0x342f0422
cmp dword [esp + 0x14], 0
jne 0x342f0422
push 0
push 0
push 0
push 0
push 0
push ebp
lea ecx, [esp + 0x38]
push ecx
push edi
push ebx
call fcn.34253283
mov esi, eax
test esi, esi
jl 0x342f08a0
mov ecx, dword [esp + 0x2c]
push 0
push 0
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x34]
push 0x82
lea eax, [esp + 0xd4]
push eax
push ecx
push edx
push ebx
call fcn.34206bf8
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x10]
shr eax, 1
cmp eax, 0x40
jb 0x342f0462
mov eax, 0x40
xor ecx, ecx
mov word [esp + eax*2 + 0xc4], cx
test esi, esi
jne 0x342f05ef
lea esp, [esp]
cmp dword [esp + 0x1e4], 1
je 0x342f04a6
cmp dword [esp + 0x14], 0
jne 0x342f04a6
mov ecx, dword [esp + 0x20]
push 0
push 0x18
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0xd0]
push eax
push ecx
push ebx
call fcn.342066df
jmp 0x342f04bf
push 0
push 0x18
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0xd0]
push eax
push ebp
push edi
push ebx
call fcn.3421d674
xor ecx, ecx
mov esi, eax
cmp esi, 0xfffffa1d
setne cl
mov dword [esp + 0x18], ecx
test esi, esi
jge 0x342f04e0
cmp esi, 0xfffffa1d
jne 0x342f08a0
push 0xffffffffffffffff
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x150]
push 0x41
push eax
call dword [sym.imp.MSVCR90.dll_wcsncpy_s]
add esp, 0x10
cmp dword [esp + 0x18], 0
je 0x342f0547
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0x1e4]
push ecx
mov ecx, dword [esp + 0x18]
push edx
lea eax, [esp + 0xcc]
push eax
push ebp
neg ecx
push 0x34226578
sbb ecx, ecx
lea edx, [esp + 0x58]
and ecx, edx
push ecx
lea eax, [esp + 0x3c]
push eax
push edi
push ebx
call fcn.342ee124
mov esi, eax
test esi, esi
jl 0x342f08a0
mov ecx, dword [esp + 0x28]
push 0
push 1
push ecx
push ebx
call fcn.34209c8c
test eax, eax
jne 0x342f05ef
mov ecx, dword [esp + 0x2c]
push eax
push eax
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x34]
push 0x82
lea eax, [esp + 0xd4]
push eax
push ecx
push edx
push ebx
call fcn.34206bf8
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x10]
shr eax, 1
cmp eax, 0x40
jb 0x342f059c
mov eax, 0x40
xor ecx, ecx
lea edx, [esp + 0x148]
mov word [esp + eax*2 + 0xc4], cx
push edx
lea eax, [esp + 0xc8]
push eax
call fcn.3420508c
add esp, 8
test eax, eax
jne 0x342f05cb
test esi, esi
jne 0x342f05ef
jmp 0x342f04fd
cmp dword [esp + 0x14], 0
je 0x342f05e7
mov ecx, dword [esp + 0x78]
push ecx
lea edx, [esp + 0x14c]
push edx
push ebp
push edi
push ebx
call fcn.34259b38
test esi, esi
je 0x342f0477
cmp dword [esp + 0x14], 0
je 0x342f060b
mov eax, dword [esp + 0x78]
push eax
lea ecx, [esp + 0x14c]
push ecx
push ebp
push edi
push ebx
call fcn.34259b38
mov edx, dword [esp + 0x28]
push edx
push ebx
call fcn.34207940
mov eax, dword [esp + 0x48]
or esi, 0xffffffff
mov dword [esp + 0x28], esi
cmp eax, esi
je 0x342f0630
push eax
push ebx
call fcn.34207940
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x1c]
push 3
push eax
mov eax, dword [esp + 0x48]
push 0
lea ecx, [esp + 0x1c]
push ecx
push 0x1c
lea edx, [esp + 0x38]
push edx
push 0
push 0
push eax
push 0x342265c8
push edi
push ebx
call fcn.3421b4c3
mov esi, eax
test esi, esi
jl 0x342f08a0
mov ecx, dword [esp + 0x28]
push 0
push 0
push ecx
push ebx
call fcn.34209c8c
mov esi, eax
cmp esi, 0xfffff9bd
je 0x342f08a8
test esi, esi
jl 0x342f08a0
cmp dword [esp + 0x14], 0
je 0x342f06c0
mov edx, dword [esp + 0x1c]
push 3
push edx
push 0
lea eax, [esp + 0x1c]
push eax
push 0x1c
lea ecx, [esp + 0x58]
push ecx
push 0
push 0
push ebp
push 0x342265c8
push edi
push ebx
call fcn.3421b4c3
mov esi, eax
test esi, esi
jl 0x342f08a0
mov ecx, dword [esp + 0x2c]
push 0
push 0
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x34]
push 0x82
lea eax, [esp + 0xd4]
push eax
push ecx
push edx
push ebx
call fcn.34206bf8
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x10]
shr eax, 1
cmp eax, 0x40
jb 0x342f0700
mov eax, 0x40
xor ecx, ecx
mov word [esp + eax*2 + 0xc4], cx
test esi, esi
jne 0x342f0894
lea esp, [esp]
push 1
push 0
push 0x3c
lea edx, [esp + 0xd0]
push edx
push edi
lea ecx, [esp + 0x9c]
mov edx, ebp
call fcn.342ee47f
mov esi, eax
test esi, esi
jne 0x342f0753
mov eax, dword [esp + 0x8c]
push eax
push ebx
call fcn.34207940
mov dword [esp + 0x8c], 0xffffffff
jmp 0x342f078a
cmp esi, 0xfffffae7
jne 0x342f078a
push 0
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0xcc]
push eax
push ebp
push edi
lea ecx, [esp + 0x9c]
push ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], 0x3c
call fcn.3425e334
mov esi, eax
xor eax, eax
cmp esi, 0xfffffa84
setne al
mov dword [esp + 0x18], eax
test eax, eax
je 0x342f07a5
test esi, esi
jl 0x342f08a0
push 0xffffffffffffffff
lea ecx, [esp + 0xc8]
push ecx
lea edx, [esp + 0x150]
push 0x41
push edx
call dword [sym.imp.MSVCR90.dll_wcsncpy_s]
add esp, 0x10
lea ecx, [ecx]
cmp dword [esp + 0x18], 0
je 0x342f080e
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
push eax
mov eax, dword [esp + 0x18]
push ecx
lea edx, [esp + 0xcc]
push edx
push ebp
neg eax
push 0x342265c8
sbb eax, eax
lea ecx, [esp + 0x58]
and eax, ecx
push eax
lea edx, [esp + 0x3c]
push edx
push edi
push ebx
call fcn.342ee124
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x28]
push 0
push 1
push eax
push ebx
call fcn.34209c8c
mov esi, eax
test esi, esi
jne 0x342f0894
push eax
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x34]
push 0x82
lea edx, [esp + 0xd4]
push edx
push eax
push ecx
push ebx
call fcn.34206bf8
mov esi, eax
test esi, esi
jl 0x342f08a0
mov eax, dword [esp + 0x10]
shr eax, 1
cmp eax, 0x40
jb 0x342f085d
mov eax, 0x40
xor edx, edx
mov word [esp + eax*2 + 0xc4], dx
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0xc8]
push ecx
call fcn.3420508c
add esp, 8
test eax, eax
jne 0x342f088c
test esi, esi
jne 0x342f0894
jmp 0x342f07c4
test esi, esi
je 0x342f0715
cmp esi, 0xfffff9bd
je 0x342f08a8
test esi, esi
jge 0x342f08a8
cmp esi, 0xfffff430
jne 0x342f08aa
xor esi, esi
mov eax, dword [esp + 0x28]
cmp eax, 0xffffffff
je 0x342f08c2
push eax
push ebx
call fcn.34207940
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [esp + 0x48]
cmp eax, 0xffffffff
je 0x342f08da
push eax
push ebx
call fcn.34207940
mov dword [esp + 0x48], 0xffffffff
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x342f08ea
push eax
push ebx
call fcn.34207940
mov ecx, dword [esp + 0x1cc]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.341f1dd1
add esp, 0x1c0
ret 0x18