Function at 0x10034343
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10065725
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov byte [esp + 0x30], cl
je 0x100343ba
cmp byte [ebp + 0x1c], 0
je 0x10034394
mov eax, dword [ebp + 0x14]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
cmp ecx, eax
mov eax, dword [ebp + 0x18]
sete dl
mov eax, dword [eax]
mov dword [eax], edx
jmp 0x10034b63
push 3
pop esi
mov dword [edx], 0
cmp dword [edx], esi
jge 0x10034b63
mov edi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [edi]
mov dword [eax + ecx*4], esi
inc dword [edx]
cmp dword [edx], esi
jl 0x100343a8
jmp 0x10034b63
mov dword [esp + 0x10], 0x7fa4
cmp dword [esp + 0x10], 0x802b
jle 0x1003445a
xor esi, esi
xor edi, edi
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, ebx
sar eax, cl
lea ecx, [edi + esi]
or eax, ecx
lea ecx, [esp + 0xd8]
cdq
push edx
push eax
call fcn.10001aad
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100343fe
mov eax, dword [eax]
push eax
call fcn.1004da5d
pop ecx
push 0
push 1
lea ecx, [esp + 0xe0]
call fcn.10007f12
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0x4edf
jl 0x100343dc
inc ebx
cmp ebx, 0x3cea
jl 0x100343d6
inc edi
cmp edi, 0x629f
jl 0x100343d4
inc esi
cmp esi, 0x69ae
jl 0x100343d2
push 0x18ef
push 0x1ade
push 0
push 0
push 0x1bed
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp dword [esp + 0x10], 0x7ee1
jge 0x1003446f
push str.ecfghz_sjb_kokkbv_agkv_scao_iqjjg_jqlwbxn_qbhp_owvlud_wfut
call fcn.1004da5d
pop ecx
or dword [esp + 0x124], 0xffffffff
cmp byte [esp + 0x30], 0
je 0x10034b3e
and dword [esp + 0x88], 0
xor eax, eax
mov dword [esp + 0x8c], 7
mov word [esp + 0x78], ax
mov dword [esp + 0x124], 2
lea ecx, [esp + 0x78]
push dword [ebp + 0xc]
call fcn.1000cb66
mov eax, dword [0x10084878]
push 3
pop ebx
test al, 1
jne 0x100344e7
or eax, 1
mov dword [0x10084878], eax
push 0xb324
mov byte [esp + 0x128], bl
call fcn.1004693b
pop ecx
mov word [0x1008485c], ax
mov byte [esp + 0x124], 2
mov dword [esp + 0x1c], 8
lea ecx, [esp + 0x90]
push 4
call fcn.10007996
xor edx, edx
mov byte [esp + 0x124], 4
mov dword [esp + 0x10], edx
jmp 0x1003451d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x50], 8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1003450d
mov dword [esp + 0x10], edx
jmp 0x10034540
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x90]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1003452a
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x1c], edx
jl 0x10034586
mov dword [esp + 0x14], edx
jmp 0x1003456a
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xb4], 0xaccbad86
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10034557
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x50]
mov dword [esp + 0xb4], eax
dec dword [esp + 0x1c]
jns 0x10034551
mov dword [esp + 0x1c], edx
jmp 0x100345f4
mov byte [esp + 0x37], dl
cmp byte [esp + 0x37], 0
je 0x100345cd
push 1
push 0x1cc8
push 0x107
push 0x5eee
push 0x57d1
push 0x557f
push 1
push 0x408b
push 0x7645
xor dl, dl
mov ecx, 0x5f48
call fcn.10034084
add esp, 0x24
lea eax, [esp + 0x90]
mov edx, 0x476a
push eax
lea eax, [esp + 0x20]
push eax
push ecx
mov ecx, 0x7eb4
call fcn.10034c93
add esp, 0xc
dec dword [esp + 0x1c]
push 0
pop edx
cmp dword [esp + 0x1c], 0xfffffffe
jg 0x1003458c
lea ecx, [esp + 0x90]
mov byte [esp + 0x124], 2
call fcn.100079d2
mov eax, dword [0x10084878]
test al, 2
jne 0x10034641
or eax, 2
mov dword [0x10084878], eax
push 0xc479
mov byte [esp + 0x128], 5
call fcn.1004693b
pop ecx
mov word [0x10084868], ax
mov byte [esp + 0x124], 2
xor esi, esi
lea ecx, [esp + 0xa8]
inc esi
push esi
call fcn.10007996
mov byte [esp + 0x124], 6
lea ecx, [esp + 0x9c]
xor edi, edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x28], 0x8876942a
mov dword [esp + 0x28], 0x8ef6b8f
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], 0xc90d2972
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], 9
push ebx
call fcn.10007996
push esi
lea ecx, [esp + 0x64]
mov byte [esp + 0x128], 7
call fcn.10007996
mov byte [esp + 0x124], 8
mov dword [esp + 0x14], 0x734d
cmp dword [esp + 0x14], 0x7658
jle 0x10034720
push edi
push edi
push 0xa24
push 0x113f
push edi
call dword [sym.imp.USER32.dll_ModifyMenuW]
mov esi, edi
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [esp + 0xf0]
cdq
push edx
push eax
call fcn.10001aad
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100346f4
mov eax, dword [eax]
push eax
call fcn.1004da5d
pop ecx
push 0
push 1
lea ecx, [esp + 0xf8]
call fcn.10007f12
inc edi
cmp edi, 0x61cd
jl 0x100346d5
inc esi
push 0
pop edi
cmp esi, 0x1bfb
jl 0x100346d5
mov dword [esp + 0x18], edi
jmp 0x10034739
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x108], 9
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10034726
cmp dword [esp + 0x14], 0x71ed
jge 0x10034755
push str.kpt_tjvjysb_jyqmlxg_sropdofdw_ecokjs_rzuy_sonofw_glqclmd_stepfmp_aarorxn
call fcn.1004da5d
pop ecx
push ecx
lea eax, [esp + 0x1c]
mov dword [esp + 0x128], 8
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.10034b78
add esp, 0xc
mov dword [esp + 0x18], edi
jmp 0x1003478f
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xcc], 0xdfd94759
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x1003477c
push ecx
lea eax, [esp + 0xa0]
push eax
push ecx
push ecx
lea edx, [esp + 0x28]
call fcn.10034314
add esp, 0xc
lea eax, [esp + 0x1c]
push eax
push ecx
lea eax, [esp + 0x6c]
mov cl, 1
push eax
call fcn.10033ec6
pop ecx
lea eax, [esp + 0xa8]
push eax
sub esp, 0x1c
call fcn.10034033
add esp, 0x2c
mov dword [esp + 0x10], edi
jmp 0x1003486b
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x14], edi
jmp 0x100347f5
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x48], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x100347e9
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], edi
jmp 0x10034861
push 0x2e40
push 0x7690
push 0x3a7f
push 0x21f4
push 0xe6b
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 0x4a1cf041
push 1
mov dword [esp + 0x40], 0xffffffff
mov edx, 0x6c16
push eax
xor cl, cl
call fcn.10035397
add esp, 0x1c
lea eax, [esp + 0x60]
push eax
push ecx
push ecx
lea eax, [esp + 0x4c]
push eax
call fcn.1003514b
add esp, 0x10
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x1003480a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jle 0x100347db
lea ecx, [esp + 0x60]
call fcn.100079d2
lea ecx, [esp + 0x9c]
call fcn.100079d2
lea ecx, [esp + 0xa8]
mov byte [esp + 0x124], 2
call fcn.100079d2
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x100349bc
call fcn.10032f40
push 0x24
xor edx, edx
pop ecx
div ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x14], 0x399841b3
mov dword [esp + 0x28], 0xa34c865b
mov dword [esp + 0x14], edi
jmp 0x10034985
mov dword [esp + 0x10], edi
jmp 0x100348e8
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], 0xd065
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x100348d8
xor ecx, ecx
mov dword [esp + 0x10], edi
inc ecx
jmp 0x10034907
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x38], 7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x100348f7
mov dword [esp + 0x10], edi
jmp 0x10034923
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x44], 0xed02e889
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x10034913
mov eax, dword [esp + 0x70]
inc dword [esp + 0x70]
test eax, eax
mov eax, dword [esp + 0x38]
cmove ecx, edi
sub eax, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
dec eax
add edx, eax
imul edx, dword [esp + 0x38]
imul edx, ecx
cmp dword [esp + 0x14], 0xb9dd952e
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, dword [esp + 0x38]
setge cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, 0x920a6ff6
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], 0x635290ce
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff0
jge 0x100348d2
push 0x3f53
lea eax, [esp + 0x7c]
mov edx, 0x1008485c
push eax
push 0x10084868
push ecx
push ecx
lea eax, [esp + 0x60]
push eax
push 1
call fcn.10033fa8
add esp, 0x1c
dec esi
jne 0x100348a9
mov dword [esp + 0x24], 0xada439be
mov dword [esp + 0x20], 0xfffffff8
cmp dword [esp + 0x24], edi
jne 0x100349da
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push ecx
lea eax, [esp + 0x58]
mov dword [esp + 0x58], 0x68044455
push eax
push 1
call fcn.10033bd6
mov ecx, dword [esp + 0x30]
add esp, 0xc
sub ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xfff6
setle cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 6
mov eax, dword [esp + 0x20]
setg cl
xor ebx, ebx
cmp ecx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
setg bl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x24]
setge dl
imul edx, ebx
xor ebx, ebx
add eax, edx
je 0x10034adf
mov dword [esp + 0x3c], 0xfffffffb
mov dword [esp + 0x14], ebx
jmp 0x10034a74
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xbc], 0xbebf3b8c
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10034a61
push 3
mov dword [esp + 0x24], ebx
pop esi
jmp 0x10034ad7
mov dword [esp + 0x5c], 0xffffffff
mov eax, dword [esp + 0x20]
cmp dword [esp + eax*4 + 0xbc], ebx
je 0x10034aa7
cmp dword [esp + 0xc0], ebx
je 0x10034aa7
xor eax, eax
inc eax
jmp 0x10034aa9
mov eax, ebx
mov dword [esp + 0x3c], eax
mov ecx, 0x2c91
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x68]
push 0x4f50
push eax
call fcn.10035371
add esp, 0x14
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jle 0x10034a84
jmp 0x10034b19
push 1
lea eax, [esp + 0x3a]
mov byte [esp + 0x3a], bl
push eax
push 0x6db2
push 0x3e9b
push 0x7ab5
push 0x6f55
push 1
push 0x523b
push 0x3a40
mov dl, 1
mov ecx, 0x4809
call fcn.10034084
add esp, 0x24
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x78]
cmp ecx, eax
je 0x10034b2d
push 0xffffffffffffffff
push ebx
push eax
call fcn.1000816c
push ebx
push 1
lea ecx, [esp + 0x80]
call fcn.10008371
jmp 0x10034b63
lea eax, [esp + 0x2f]
mov byte [esp + 0x2f], 0
push eax
push 1
push ecx
push ecx
push 0xf71
mov edx, 0x5932
mov ecx, 0x2dc1
call fcn.1003403f
add esp, 0x14
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret