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

Disassembly:
sub esp, 0x24c
mov eax, dword [0x34893850]
xor eax, esp
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x250]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x268]
mov dword [esp + 0x10], eax
xor eax, eax
mov ebx, edx
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x26c]
push 0xc
push ecx
push ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x38], 0xffff
mov dword [esp + 0x3c], 0xfcfcfcfc
or ebp, 0xffffffff
call fcn.348b44c7
mov esi, eax
test esi, esi
jl 0x348ab79e
test edi, edi
je 0x348ab188
push 0x41
push edi
lea edx, [esp + 0x1dc]
push edx
call fcn.348a49f9
movzx eax, ax
test ax, ax
mov dword [esp + 0x24], eax
jne 0x348ab188
mov esi, 0xfffffa84
jmp 0x348ab79e
movzx eax, word [ebx + 0x16]
mov ecx, 0x48
mov esi, 0x34892568
lea edi, [esp + 0xb4]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x84]
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x80]
push ecx
push 8
push 0xc
lea edx, [esp + 0xc4]
push edx
push eax
call fcn.348bda0a
mov esi, eax
test esi, esi
jl 0x348ab79e
cmp dword [esp + 0x48], 0
mov edi, dword [ebx + 0x114]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x78], 0x3c
mov dword [esp + 0x4c], edi
je 0x348ab23e
movzx edx, word [esp + 0x24]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x268]
push edx
movzx edx, word [ebx + 0xee]
lea eax, [esp + 0x1dc]
push eax
push ecx
push edx
push edi
call fcn.348a4c81
mov esi, eax
test esi, esi
jl 0x348ab79e
cmp dword [esp + 0x20], 0
jne 0x348ab263
mov esi, 0xfffffa84
jmp 0x348ab79e
mov ecx, dword [esp + 0x264]
movzx edx, word [ebx + 0xee]
lea eax, [esp + 0x20]
push eax
push ecx
push edx
push edi
call fcn.348a4f05
mov esi, eax
test esi, esi
jl 0x348ab79e
mov eax, dword [ebx + 0x110]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x18]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x24]
push edx
push eax
mov dword [esp + 0x48], 0
call fcn.3489c7c1
mov esi, eax
test esi, esi
jl 0x348ab79e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x348ab7e2
mov edx, dword [ebx + 0xbc]
lea ecx, [esp + 0x18]
push ecx
push edx
push eax
call fcn.34899c25
test eax, eax
je 0x348ab780
movzx ax, byte [eax]
movzx eax, ax
test ax, ax
mov dword [esp + 0x2c], eax
je 0x348ab2d3
cmp ax, 1
jne 0x348ab75e
mov ecx, dword [esp + 0x28]
push ecx
call fcn.348969ef
mov eax, dword [ebx + 0xa4]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push eax
push ecx
call fcn.34899c25
test eax, eax
je 0x348ab78b
movzx esi, word [eax]
mov eax, dword [ebx + 0xc0]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push eax
push ecx
call fcn.34899c25
mov edi, eax
movzx eax, word [esp + 0x18]
mov ecx, eax
shr ecx, 3
test edi, edi
mov dword [esp + 0x44], ecx
je 0x348ab7db
lea edx, [ecx*8]
cmp eax, edx
jne 0x348ab7db
mov eax, dword [ebx + 0xa0]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov dword [esp + 0x24], 0
call fcn.34899d08
test eax, eax
je 0x348ab35d
or dword [esp + 0x1c], 1
mov edx, dword [ebx + 0x9c]
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.34899d08
test eax, eax
je 0x348ab377
or dword [esp + 0x1c], 2
mov ecx, dword [ebx + 0x90]
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.34899d08
test eax, eax
je 0x348ab391
or dword [esp + 0x1c], 4
mov eax, dword [ebx + 0x98]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.34899d08
test eax, eax
je 0x348ab3ab
or dword [esp + 0x1c], 8
cmp word [esp + 0x2c], 1
jne 0x348ab3bb
or dword [esp + 0x1c], 0x80000000
mov eax, dword [ebx + 0xb0]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x24]
push edx
push eax
push ecx
call fcn.34899c25
movzx edx, word [esp + 0x24]
push edx
push eax
lea eax, [esp + 0x1dc]
push eax
call sub.msvcr80.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x78]
push eax
push ecx
mov ebx, esi
call fcn.348ab06d
mov esi, eax
test esi, esi
jl 0x348ab794
mov eax, dword [esp + 0x44]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x58], eax
jbe 0x348ab741
add edi, 6
movzx eax, byte [edi - 2]
movzx cx, byte [edi - 4]
movzx edx, ax
mov dword [esp + 0x2c], eax
movzx eax, word [edi]
shl edx, 0xc
or edx, dword [edi - 6]
shr eax, 0xf
mov dword [esp + 0x5c], eax
movzx eax, cx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x54], edx
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [esp + 0x26c]
push eax
push ecx
mov dword [esp + 0x60], ebx
call fcn.348a50f8
mov esi, eax
test esi, esi
jl 0x348ab794
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push eax
push ecx
call fcn.34899c25
mov eax, dword [esp + 0x2c]
cmp eax, 0xa
je 0x348ab494
cmp eax, 0xc
jne 0x348ab4c1
mov eax, dword [esi + 0x7c]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push eax
push ecx
call fcn.34899c25
movzx edx, word [eax]
mov ecx, dword [esi + 0x60]
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.34899c25
mov ecx, dword [esi + 0x80]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x30]
push eax
push ecx
push edx
call fcn.34899c25
movzx ecx, word [esp + 0x30]
push ecx
push eax
lea edx, [esp + 0x220]
push edx
call sub.msvcr80.dll_memcpy
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [0x348eb6cc]
mov eax, dword [edx + 0x14]
add esp, 0xc
push 0
push ebp
push ecx
call eax
mov esi, eax
test esi, esi
jne 0x348ab794
movzx ecx, word [esp + 0x24]
push eax
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x1e0]
push edx
mov edx, dword [ecx]
push eax
push ebp
push edx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x10]
push eax
push eax
push 4
lea eax, [esp + 0x28]
push eax
mov eax, dword [edx]
push ecx
push ebp
push eax
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov edx, dword [esp + 0x98]
push eax
push eax
mov eax, dword [esp + 0x18]
push 4
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [eax]
push edx
push ebp
push ecx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov ecx, dword [esp + 0x10]
push eax
push eax
mov eax, dword [esp + 0x94]
push 4
lea edx, [esp + 0x7c]
push edx
mov edx, dword [ecx]
push eax
push ebp
push edx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x10]
push eax
push eax
push 4
lea eax, [esp + 0x6c]
push eax
mov eax, dword [edx]
push ecx
push ebp
push eax
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov edx, dword [esp + 0x94]
push eax
push eax
mov eax, dword [esp + 0x18]
push 4
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [eax]
push edx
push ebp
push ecx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov ecx, dword [esp + 0x10]
push eax
push eax
mov eax, dword [esp + 0xa4]
push 4
lea edx, [esp + 0x5c]
push edx
mov edx, dword [ecx]
push eax
push ebp
push edx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x10]
push eax
push eax
push 4
lea eax, [esp + 0x38]
push eax
mov eax, dword [edx]
push ecx
push ebp
push eax
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov eax, dword [esp + 0x2c]
cmp eax, 0xa
je 0x348ab662
cmp eax, 0xc
jne 0x348ab68f
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x10]
push 0
push 0
push 4
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [eax]
push edx
push ebp
push ecx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x10]
push 0
push 0
push 4
lea edx, [esp + 0x60]
push edx
mov edx, dword [ecx]
push eax
push ebp
push edx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x10]
push eax
push eax
push 4
lea eax, [esp + 0x68]
push eax
mov eax, dword [edx]
push ecx
push ebp
push eax
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
movzx ecx, word [esp + 0x30]
push eax
push eax
mov eax, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x224]
push edx
mov edx, dword [ecx]
push eax
push ebp
push edx
call fcn.348c7804
mov esi, eax
test esi, esi
jne 0x348ab794
mov edx, dword [0x348eb6cc]
push eax
push eax
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [edx + 0x40]
push ebp
push ecx
call eax
mov esi, eax
test esi, esi
jl 0x348ab794
add dword [esp + 0x3c], 1
add ebx, 1
add edi, 8
cmp ebx, dword [esp + 0x44]
jb 0x348ab422
mov ecx, dword [esp + 0x28]
push ecx
call fcn.34896a04
cmp dword [esp + 0x48], 0
jne 0x348ab7e2
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x18]
push eax
push 0
push ecx
call fcn.3489deb1
mov esi, eax
test esi, esi
jge 0x348ab293
jmp 0x348ab79e
push edi
push ebx
call fcn.348b5ae7
mov esi, eax
jmp 0x348ab79e
push edi
push ebx
call fcn.348b5ae7
mov esi, eax
mov ecx, dword [esp + 0x28]
push ecx
call fcn.34896a04
mov edx, dword [esp + 0x20]
push edx
call fcn.3489c7aa
test eax, eax
jl 0x348ab858
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.348b5230
cmp ebp, 0xffffffff
je 0x348ab7d7
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov ecx, dword [0x348eb6cc]
mov edx, dword [ecx + 0x10]
push ebp
push eax
call edx
mov eax, esi
jmp 0x348ab858
mov edx, dword [esp + 0x4c]
push edx
jmp 0x348ab78c
test esi, esi
jl 0x348ab79e
mov eax, dword [esp + 0x20]
push eax
call fcn.3489c759
mov esi, eax
test esi, esi
jl 0x348ab79e
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
push ecx
mov dword [esp + 0x28], 0
call fcn.348b4f92
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov ecx, dword [0x348eb6cc]
mov edx, dword [ecx + 0x4c]
push 0
push 0x80000000
push ebp
push eax
call edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x26c]
cmp eax, 0x3c
jbe 0x348ab843
mov eax, 0x3c
mov edx, dword [esp + 0x64]
push eax
lea ecx, [esp + 0x7c]
push ecx
push edx
call sub.msvcr80.dll_memcpy
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x258]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.348c86f8
add esp, 0x24c
ret 0x10