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

Disassembly:
sub esp, 0x68
mov eax, dword [0x347765c8]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
push ebx
mov ebx, dword [eax + 0x14]
push ebp
push esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x38], eax
or eax, 0xffffffff
push edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x38], esi
mov esi, dword [edx + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push 0x34772894
mov dword [ecx + 0xc], eax
mov eax, dword [0x347efae8]
push esi
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x74]
xor ebp, ebp
push ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], esi
call ecx
test eax, eax
mov dword [esp + 0x10], eax
jl 0x347cb89b
mov edx, dword [0x347efae8]
mov eax, dword [edx + 0x9c]
push 1
push 0x10
push edi
push esi
push ebx
call eax
mov ecx, eax
test ecx, ecx
mov dword [esp + 0x10], ecx
jl 0x347cb89b
mov edx, dword [0x347ed1c4]
imul edx, edx, 0x3e8
mov eax, 0x10624dd3
mul edx
xor esi, esi
shr edx, 5
je 0x347cb32e
mov eax, dword [esp + 0x14]
mov ecx, dword [0x347efae8]
mov edx, dword [ecx + 0xa0]
push 1
push eax
push ebx
call edx
mov ecx, eax
cmp ecx, 0xfffffbae
mov dword [esp + 0x10], ecx
je 0x347cb302
cmp ecx, 0xfffffbaf
je 0x347cb302
cmp ecx, 0xfffffbb2
jne 0x347cb32e
push 0x1f4
call dword [sym.imp.kernel32.dll_Sleep]
mov ecx, dword [0x347ed1c4]
imul ecx, ecx, 0x3e8
mov eax, 0x10624dd3
mul ecx
add esi, 1
shr edx, 5
cmp esi, edx
jb 0x347cb2ce
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x347cb358
cmp ecx, 0xfffff9bf
jne 0x347cb89b
pop edi
pop esi
pop ebp
mov eax, 0xffffb177
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.347ea89f
add esp, 0x68
ret 0x18
mov edx, dword [esp + 0x14]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x9c]
push 1
push 0x10
push edi
push edx
push ebx
call ecx
test eax, eax
mov dword [esp + 0x10], eax
jl 0x347cb89b
mov edx, dword [esp + 0x14]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0xa4]
push 3
push edx
push ebx
call ecx
test eax, eax
mov dword [esp + 0x10], eax
jl 0x347cb89b
mov eax, dword [esp + 0x14]
mov ecx, dword [0x347efae8]
push 0
push 0x18
lea edx, [esp + 0x54]
push edx
mov edx, dword [ecx + 0xbc]
push 0x34772bf0
push eax
push ebx
call edx
test eax, eax
mov dword [esp + 0x10], eax
jl 0x347cb89b
lea ecx, [ecx]
mov edx, dword [esp + 0x18]
push 0
push 0
lea eax, [esp + 0x38]
push eax
mov eax, dword [edx + 0xd4]
mov edx, dword [0x347efae8]
push 0x10
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [edx + 0x88]
push ecx
push ebx
call eax
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
jl 0x347cb89b
mov edx, dword [esp + 0x18]
mov eax, 0x10
lea ecx, [esp + 0x64]
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x347cb431
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x347cb419
test eax, eax
je 0x347cb496
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x347cb480
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb492
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x347cb480
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb492
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x347cb480
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb492
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x347cb492
test esi, esi
mov ebx, dword [esp + 0x24]
mov eax, 1
jg 0x347cb498
or eax, 0xffffffff
jmp 0x347cb498
mov ebx, dword [esp + 0x24]
xor eax, eax
test eax, eax
je 0x347cb7e2
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x70]
push edx
push ecx
push ebx
call fcn.347b839b
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
jl 0x347cb8e6
cmp dword [esp + 0x34], 0
je 0x347cb7e2
mov ecx, dword [esp + 0x18]
push 0
push 0
lea edx, [esp + 0x38]
push edx
mov edx, dword [ecx + 0xf8]
mov ecx, dword [0x347efae8]
push 2
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x28]
push edx
mov edx, dword [ecx + 0x88]
push eax
push ebx
call edx
cmp eax, 0x3ec
mov dword [esp + 0x10], eax
jne 0x347cb51f
mov dword [esp + 0x28], 0
jmp 0x347cb527
test eax, eax
jl 0x347cb89b
cmp dword [esp + 0x90], 0
je 0x347cb54e
mov eax, dword [esp + 0x28]
push eax
call fcn.347ad3ff
test eax, eax
jne 0x347cb7de
test byte [esp + 0x28], 8
jne 0x347cb7de
mov eax, dword [esp + 0x50]
push 0
push 0
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x20]
push 4
lea edx, [esp + 0x3c]
push edx
mov edx, dword [0x347efae8]
push eax
mov eax, dword [edx + 0x88]
push ecx
push ebx
call eax
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
jl 0x347cb89b
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x10c], 0
je 0x347cb721
cmp dword [esp + 0x2c], 0
jne 0x347cb665
cmp dword [esp + 0x20], 0
je 0x347cb634
mov ecx, dword [esp + 0x1c]
mov eax, 0x10
lea edx, [esp + 0x64]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x347cb5d1
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x347cb5b9
test eax, eax
je 0x347cb62e
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb620
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb62e
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb620
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb62e
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb620
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb62e
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x347cb62e
test esi, esi
mov eax, 1
jg 0x347cb630
or eax, 0xffffffff
jmp 0x347cb630
xor eax, eax
test eax, eax
jge 0x347cb653
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [esp + 0x20], 1
mov ebp, 1
jmp 0x347cb7e2
cmp dword [esp + 0x20], 0
jne 0x347cb717
mov ecx, dword [esp + 0x1c]
mov eax, 0x10
lea edx, [esp + 0x64]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x347cb695
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x347cb67d
test eax, eax
je 0x347cb6f2
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb6e4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb6f2
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb6e4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb6f2
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb6e4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb6f2
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x347cb6f2
test esi, esi
mov eax, 1
jg 0x347cb6f4
or eax, 0xffffffff
jmp 0x347cb6f4
xor eax, eax
test eax, eax
jge 0x347cb717
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ebp, 1
jmp 0x347cb7e2
cmp dword [esp + 0x2c], 0
jne 0x347cb7e2
mov ecx, dword [esp + 0x1c]
mov eax, 0x10
lea edx, [esp + 0x64]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x347cb751
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x347cb739
test eax, eax
je 0x347cb7ae
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb7a0
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb7ae
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb7a0
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb7ae
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x347cb7a0
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x347cb7ae
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x347cb7ae
test esi, esi
mov eax, 1
jg 0x347cb7b0
or eax, 0xffffffff
jmp 0x347cb7b0
xor eax, eax
test eax, eax
jge 0x347cb7d3
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ebp, 1
mov dword [esp + 0x20], ebp
jmp 0x347cb7e2
mov edi, dword [esp + 0x10]
mov ecx, dword [0x347ed1c4]
imul ecx, ecx, 0x3e8
mov eax, 0x10624dd3
mul ecx
xor esi, esi
shr edx, 5
je 0x347cb85d
mov edx, dword [esp + 0x14]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x84]
push 0
push 1
push edx
push ebx
call ecx
mov edi, eax
cmp edi, 0xfffffbae
mov dword [esp + 0x10], edi
je 0x347cb831
cmp edi, 0xfffffbaf
je 0x347cb831
cmp edi, 0xfffffbb2
jne 0x347cb85d
push 0x1f4
call dword [sym.imp.kernel32.dll_Sleep]
mov edx, dword [0x347ed1c4]
imul edx, edx, 0x3e8
mov eax, 0x10624dd3
mul edx
add esi, 1
shr edx, 5
cmp esi, edx
jb 0x347cb7fc
mov edi, dword [esp + 0x10]
test edi, edi
jge 0x347cb3cd
cmp edi, 0xfffff9bd
jne 0x347cb89b
test ebp, ebp
je 0x347cb33e
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp dword [esp + 0x20], eax
pop edi
sete al
pop esi
pop ebp
pop ebx
mov dword [ecx], eax
xor eax, eax
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.347ea89f
add esp, 0x68
ret 0x18
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x104]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x34]
push edx
push 9
add eax, 0x68
push eax
call fcn.347d3c30
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.347ea89f
add esp, 0x68
ret 0x18
mov ecx, dword [esp + 0x74]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.347ea89f
add esp, 0x68
ret 0x18