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

Disassembly:
sub esp, 0x64
mov eax, dword [esp + 0x70]
push ebp
mov ebp, dword [esp + 0x6c]
push esi
xor esi, esi
cmp eax, 7
mov byte [esp + 0xb], 1
mov byte [esp + 0x70], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], esi
je 0x34789069
cmp eax, 3
jne 0x34789073
push 0x34771260
push ebx
call fcn.34776ce7
add esp, 8
test eax, eax
je 0x34789069
push 0x3477128c
push ebx
call fcn.34776ce7
add esp, 8
test eax, eax
je 0x34789069
push 0x34771270
push ebx
call fcn.34776ce7
add esp, 8
test eax, eax
jne 0x34789091
pop esi
xor eax, eax
pop ebp
add esp, 0x64
ret 0x18
cmp eax, 1
jne 0x34789091
push 0x34772724
push ebx
call fcn.34776ce7
add esp, 8
test eax, eax
je 0x34789069
push 0x3477273c
jmp 0x3478905c
cmp dword [esp + 0x7c], esi
jne 0x3478909d
mov dword [esp + 0x14], esi
jmp 0x347890cf
mov ecx, dword [esp + 0x74]
mov edx, dword [0x347efae8]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edx + 0x18c]
push ebx
push ecx
push ebp
push edi
call eax
cmp eax, esi
jl 0x347894d7
cmp dword [esp + 0x14], esi
je 0x347890cf
cmp dword [esp + 0x80], esi
je 0x34789069
mov edx, dword [esp + 0x74]
mov eax, dword [0x347efae8]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x190]
push ebx
push edx
push ebp
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x347894d5
cmp dword [esp + 0x24], 0
jne 0x34789069
mov eax, dword [esp + 0x80]
test eax, eax
je 0x34789129
cmp dword [esp + 0x14], 0
je 0x34789069
push ebx
call fcn.347bd55c
test eax, eax
jne 0x34789069
mov eax, dword [esp + 0x80]
mov ecx, 1
cmp dword [esp + 0x78], ecx
jne 0x34789414
test eax, eax
jne 0x347894b9
cmp dword [esp + 0x7c], eax
mov dword [esp + 0x1c], eax
jne 0x3478914e
mov dword [esp + 0x1c], ecx
push ebx
call fcn.347bd5eb
test eax, eax
jne 0x34789069
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x60]
push 0x80400002
push ebx
lea edx, [esp + 0x18]
push edx
push ebp
push edi
call ecx
test eax, eax
jl 0x347894d7
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
push 1
push 0x38
lea edx, [esp + 0x3c]
push edx
mov edx, dword [ecx + 0xbc]
push 0
push eax
push edi
call edx
mov esi, eax
test esi, esi
jl 0x347893f5
mov ecx, dword [esp + 0x10]
mov edx, dword [0x347efae8]
lea eax, [esp + 0x34]
push eax
mov eax, dword [edx + 0x1e4]
push ecx
push edi
call eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x34]
push ecx
push edx
push ebp
push edi
call fcn.347867cf
mov esi, eax
test esi, esi
jl 0x347893f5
mov eax, dword [esp + 0x38]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x68]
push eax
push edi
call edx
mov ecx, dword [esp + 0x10]
mov edx, dword [0x347efae8]
lea eax, [esp + 0xc]
push eax
mov eax, dword [edx + 0x1b4]
push ecx
call eax
mov esi, eax
test esi, esi
jl 0x347893f5
mov ecx, dword [0x347ed1c4]
or dword [esp + 0xc], 0x18
imul ecx, ecx, 0x3e8
mov eax, 0x10624dd3
mul ecx
shr edx, 5
mov dword [esp + 0x18], 0
je 0x347892bc
lea esp, [esp]
push 0
push 0
lea edx, [esp + 0x30]
push edx
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x3c]
push eax
mov eax, dword [0x347efae8]
push 1
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [eax + 0x140]
push 0x34772370
push 0
push ebx
push edx
push ebp
push edi
call ecx
mov esi, eax
cmp esi, 0xfffffbae
je 0x34789288
cmp esi, 0xfffffbaf
je 0x34789288
cmp esi, 0xfffffbb2
jne 0x347892bc
push 0x1f4
call dword [sym.imp.kernel32.dll_Sleep]
mov edx, dword [0x347ed1c4]
mov ecx, dword [esp + 0x18]
imul edx, edx, 0x3e8
mov eax, 0x10624dd3
mul edx
add ecx, 1
shr edx, 5
cmp ecx, edx
mov dword [esp + 0x18], ecx
jb 0x34789237
cmp esi, 0xfffff1ee
je 0x347892f1
cmp esi, 0xfffff1f0
je 0x347892f1
cmp byte [esp + 0x70], 1
jne 0x347892e7
push ebx
call fcn.347bd55c
test eax, eax
jne 0x347892e7
or dword [esp + 0xc], 0x20000
jmp 0x34789342
and dword [esp + 0xc], 0xfffdffff
jmp 0x34789342
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x198]
lea eax, [esp + 0x2c]
push eax
push ebp
call edx
test eax, eax
jl 0x347894d7
mov esi, 0x20000
test dword [esp + 0x2c], esi
je 0x3478932d
push ebx
call fcn.347bd55c
test eax, eax
jne 0x3478932d
or dword [esp + 0xc], esi
mov byte [esp + 0x70], 1
jmp 0x3478933a
and dword [esp + 0xc], 0xfffdffff
mov byte [esp + 0x70], 0
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [0x347efae8]
push eax
mov eax, dword [edx + 0x1b8]
push ecx
call eax
mov esi, eax
test esi, esi
jl 0x347893f5
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push ebx
push ecx
push edx
push ebp
push edi
call fcn.3478ef58
mov esi, eax
test esi, esi
jl 0x347893f5
mov eax, dword [esp + 0x10]
push 0
push ebx
push eax
push ebp
push edi
call fcn.34786e37
mov esi, eax
test esi, esi
jl 0x347893f5
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
push ebp
push edi
call fcn.34788ca8
mov esi, eax
test esi, esi
jl 0x347893f5
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
push edi
call fcn.3478f150
mov esi, eax
test esi, esi
jl 0x347893f5
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x1d0]
push 0
push ebx
push ebp
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x347893f5
cmp dword [esp + 0x84], 0
je 0x347893f5
mov edx, dword [esp + 0x10]
push edx
push ebx
push ebp
push edi
call fcn.347869a5
mov esi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x68]
push eax
push edi
call edx
test esi, esi
jge 0x3478941c
mov eax, esi
pop esi
pop ebp
add esp, 0x64
ret 0x18
test eax, eax
jne 0x347894b9
mov esi, dword [esp + 0x74]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x13c]
push 0x80
push 0xa
push 2
push 0x347715e8
push 0x347722e8
push 0
push ebx
push esi
push ebp
push edi
call ecx
test eax, eax
jl 0x347894d7
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x13c]
push 0x80
push 1
push 1
lea edx, [esp + 0x17]
push edx
push 0x34772300
push 0
push ebx
push esi
push ebp
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x347894d5
cmp dword [esp + 0x20], 0
je 0x347894b2
mov eax, dword [esp + 0x74]
mov ecx, dword [0x347efae8]
push 0x80
push 1
push 1
lea edx, [esp + 0x7c]
push edx
mov edx, dword [ecx + 0x13c]
push 0x34772370
push 0
push ebx
push eax
push ebp
push edi
call edx
mov esi, eax
test esi, esi
jl 0x347894d5
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x7c], 0
je 0x347894d5
mov ecx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x7c]
push eax
push ebx
push ecx
push ebp
push edi
call fcn.347862d8
mov esi, eax
mov eax, esi
pop esi
pop ebp
add esp, 0x64
ret 0x18