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

Disassembly:
sub esp, 0x80
mov eax, dword [0x347765c8]
xor eax, esp
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
push ebx
push ebp
mov ebp, dword [esp + 0x8c]
mov ebx, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 0x20]
mov dword [esp + 0x10], 0xffffffff
mov dword [eax], 0
test dword [edi + 0x28], 0x20000
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
je 0x347d55db
lea edx, [esp + 0x14]
push edx
push 4
lea edx, [esp + 0x3c]
push edx
push 0x18
lea eax, [edi + 0x548]
push eax
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x20]
push eax
push ebx
call fcn.347c596b
mov esi, eax
test esi, esi
jl 0x347d57cf
cmp dword [esp + 0x34], 0
jne 0x347d55c5
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x9c]
push 1
push 0x10
push edi
push edx
push ebx
call ecx
mov esi, eax
test esi, esi
jl 0x347d57cf
mov edx, dword [0x347ed1c4]
imul edx, edx, 0x3e8
mov eax, 0x10624dd3
mul edx
xor edi, edi
shr edx, 5
je 0x347d540a
lea ebx, [ebx]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
mov edx, dword [0x347efae8]
mov eax, dword [edx + 0xa0]
push 1
push ecx
push ebx
call eax
mov esi, eax
cmp esi, 0xfffffbae
je 0x347d53e2
cmp esi, 0xfffffbaf
je 0x347d53e2
cmp esi, 0xfffffbb2
jne 0x347d540a
push 0x1f4
call dword [sym.imp.kernel32.dll_Sleep]
mov ecx, dword [0x347ed1c4]
imul ecx, ecx, 0x3e8
mov eax, 0x10624dd3
mul ecx
add edi, 1
shr edx, 5
cmp edi, edx
jb 0x347d53af
test esi, esi
jl 0x347d57cf
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x74]
push 0
push 0
lea edx, [esp + 0x1c]
push edx
mov edx, dword [edi + 0x18]
push 8
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x347efae8]
push ecx
mov ecx, dword [eax + 0x88]
push edx
push ebx
call ecx
mov esi, eax
test esi, esi
jl 0x347d57cf
mov eax, dword [edi + 0x18]
mov ecx, dword [0x347efae8]
push 0
push 0x18
lea edx, [esp + 0x58]
push edx
mov edx, dword [ecx + 0xbc]
push 0x34772f60
push eax
push ebx
call edx
mov esi, eax
test esi, esi
jl 0x347d57cf
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov edx, ecx
mov ecx, dword [ebp + 0x3c]
push edx
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.347def5b
test eax, eax
jne 0x347d549a
mov esi, 0xffffb1a1
jmp 0x347d57cf
mov ecx, dword [esp + 0x1c]
mov eax, 0xd5555555
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
shl edx, 5
add ecx, edx
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x44]
push eax
neg ecx
push ecx
mov ecx, dword [ebp + 0x3c]
push ecx
call fcn.347dee87
test eax, eax
jne 0x347d54da
mov esi, 0xffffb1a1
jmp 0x347d57cf
mov eax, dword [edi + 0x18]
mov ecx, dword [0x347efae8]
push 0
lea edx, [esp + 0x14]
push edx
mov edx, dword [ecx + 0x6c]
push eax
push ebx
call edx
mov esi, eax
test esi, esi
jl 0x347d57cf
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x74]
push 0x34772db0
push eax
push ebx
call edx
mov esi, eax
test esi, esi
jl 0x347d57cf
mov ecx, dword [esp + 0x10]
mov edx, dword [0x347efae8]
push 1
push 8
lea eax, [esp + 0x44]
push eax
mov eax, dword [edx + 0x9c]
push ecx
push ebx
call eax
mov esi, eax
test esi, esi
jl 0x347d57cf
mov ecx, dword [0x347ed1c4]
imul ecx, ecx, 0x3e8
mov eax, 0x10624dd3
mul ecx
xor edi, edi
shr edx, 5
je 0x347d55b5
lea ecx, [ecx]
mov edx, dword [esp + 0x10]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0xa0]
push 2
push edx
push ebx
call ecx
mov esi, eax
cmp esi, 0xfffffbae
je 0x347d558d
cmp esi, 0xfffffbaf
je 0x347d558d
cmp esi, 0xfffffbb2
jne 0x347d55b5
push 0x1f4
call dword [sym.imp.kernel32.dll_Sleep]
mov edx, dword [0x347ed1c4]
imul edx, edx, 0x3e8
mov eax, 0x10624dd3
mul edx
add edi, 1
shr edx, 5
cmp edi, edx
jb 0x347d555e
test esi, esi
jge 0x347d55f8
cmp esi, 0xfffff9bf
jne 0x347d57cf
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x347d55db
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x68]
push eax
push ebx
call edx
xor eax, eax
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.347ea89f
add esp, 0x80
ret 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x74]
push 0
push 0
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push 8
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [0x347efae8]
push edx
mov edx, dword [ecx + 0x88]
push eax
push ebx
call edx
mov esi, eax
test esi, esi
jl 0x347d57cf
fld qword [esp + 0x44]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 0x41
je 0x347d55c5
mov edx, dword [edi + 0x58]
push 0
push 0
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push 0x10
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [0x347efae8]
push edx
mov edx, dword [ecx + 0x88]
push eax
push ebx
call edx
mov esi, eax
test esi, esi
jl 0x347d57cf
mov ecx, dword [esp + 0x38]
mov eax, 0x10
lea edx, [esp + 0x68]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x347d5694
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x347d567c
test eax, eax
je 0x347d56f1
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347d56e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347d56f1
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347d56e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347d56f1
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347d56e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347d56f1
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x347d56f1
test esi, esi
mov eax, 1
jg 0x347d56f3
or eax, 0xffffffff
jmp 0x347d56f3
xor eax, eax
test eax, eax
jne 0x347d5795
push eax
push eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push 0x12
lea edx, [esp + 0x88]
push edx
mov edx, dword [0x347efae8]
push eax
mov eax, dword [edx + 0x88]
push ecx
push ebx
call eax
mov esi, eax
test esi, esi
jl 0x347d57cf
mov ecx, dword [esp + 0x14]
push 0x34773658
lea edx, [esp + 0x7c]
shr ecx, 1
push edx
mov word [esp + ecx*2 + 0x80], 0
call fcn.34780cf0
test eax, eax
jne 0x347d5795
mov edx, dword [edi + 0x60]
push eax
push eax
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push 4
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [0x347efae8]
push edx
mov edx, dword [ecx + 0x88]
push eax
push ebx
call edx
mov esi, eax
test esi, esi
jl 0x347d57cf
mov eax, dword [esp + 0x24]
cmp eax, 1
je 0x347d57ec
cmp eax, 2
je 0x347d55c5
cmp eax, 4
je 0x347d57fb
mov eax, dword [esp + 0x10]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0x84]
push 0
push 1
push eax
push ebx
call edx
mov esi, eax
test esi, esi
jge 0x347d55f8
cmp esi, 0xfffff9bd
je 0x347d55c5
cmp esi, 0xfffff9bf
je 0x347d55c5
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x347d57e5
mov edx, dword [0x347efae8]
push eax
mov eax, dword [edx + 0x68]
push ebx
call eax
mov eax, esi
jmp 0x347d55dd
mov eax, dword [esp + 0x20]
mov dword [eax], 1
jmp 0x347d55c5
mov eax, dword [edi + 0x64]
push 0
push 0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push 4
lea edx, [esp + 0x40]
push edx
mov edx, dword [0x347efae8]
push eax
mov eax, dword [edx + 0x88]
push ecx
push ebx
call eax
mov esi, eax
test esi, esi
jl 0x347d57cf
cmp dword [esp + 0x14], 0
jbe 0x347d55c5
cmp dword [esp + 0x30], 0x48
jne 0x347d55c5
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
jmp 0x347d55c5