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

Disassembly:
sub esp, 0x134
mov eax, dword [0x34893850]
xor eax, esp
mov dword [esp + 0x130], eax
cmp dword [0x348ca248], 0
mov eax, dword [esp + 0x140]
push ebp
mov ebp, dword [esp + 0x14c]
push esi
mov esi, dword [esp + 0x140]
push edi
mov edi, dword [esp + 0x148]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x34], eax
je 0x348a0152
mov eax, 0xfffffbd7
jmp 0x348a0970
mov dword [0x348ebb48], esi
mov ecx, dword [esi + 0x2c]
push edi
push esi
mov dword [0x348ebb18], ecx
call fcn.348acfba
mov al, byte [edi + 0x65]
test al, 8
je 0x348a0179
mov eax, 0xfffff8ef
jmp 0x348a0970
cmp dword [esp + 0x158], 0
jne 0x348a018d
mov eax, 0xfffffc15
jmp 0x348a0970
push ebx
mov ebx, dword [esp + 0x154]
test bl, 0x10
mov dword [esp + 0x4c], 0
mov ecx, 1
je 0x348a01ab
mov dword [esp + 0x4c], ecx
test bl, 2
je 0x348a01b6
and ebx, 0xfffffff7
or ebx, 5
test al, 4
je 0x348a096a
mov edi, dword [edi + 0x10]
cmp word [edi + 0x28], cx
ja 0x348a096a
push edi
call fcn.348b5271
test eax, eax
jl 0x348a096f
mov edx, dword [esi]
mov eax, dword [0x348eb6cc]
mov ecx, dword [eax + 0xc]
push 0x348eb6c8
push edx
call ecx
mov edx, dword [esp + 0x38]
push 0x41
push edx
lea eax, [esp + 0xc0]
push eax
mov dword [esp + 0x3c], 0
call fcn.348a49f9
test eax, eax
mov dword [esp + 0x38], eax
jne 0x348a0228
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
push ecx
mov esi, 0xfffffc16
call fcn.348b43b3
mov eax, esi
jmp 0x348a096f
mov al, byte [ebp]
xor ecx, ecx
test al, al
mov esi, ebp
jne 0x348a0250
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
push ecx
mov esi, 0xfffffc15
call fcn.348b43b3
mov eax, esi
jmp 0x348a096f
mov ecx, dword [esp + 0x2c]
mov edx, ecx
add ecx, 1
add esi, 1
cmp edx, 0xa
mov dword [esp + 0x2c], ecx
je 0x348a031c
cmp al, 0x2b
je 0x348a026d
cmp al, 0x2d
jne 0x348a0233
push 0x41
push esi
lea eax, [esp + 0x104]
push eax
call fcn.348a49f9
test eax, eax
je 0x348a0335
lea esi, [esi + eax + 1]
mov al, byte [esi]
test al, al
jne 0x348a024c
cmp dword [esp + 0x2c], 0
je 0x348a0233
sub esi, ebp
add esi, 1
cmp dword [esp + 0x15c], esi
jne 0x348a0233
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x58]
push edx
push ecx
call fcn.348b4cbf
mov esi, eax
test esi, esi
jl 0x348a073b
test bl, 2
je 0x348a02f3
mov edx, dword [esp + 0x58]
mov eax, dword [edx]
movzx esi, word [eax]
add eax, 0xc
xor ecx, ecx
test esi, esi
jbe 0x348a02f3
mov dl, 0x20
lea ecx, [ecx]
test byte [eax + 4], dl
jne 0x348a0368
movzx edi, byte [eax + 1]
add ecx, 1
cmp ecx, esi
lea eax, [eax + edi*8 + 0x18]
jb 0x348a02db
mov edi, dword [esp + 0x2c]
mov eax, dword [0x348ca260]
lea edi, [edi*8 + 0x18]
push edi
push eax
call fcn.348c4fa9
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x348a0381
mov esi, 0xfffffc0d
jmp 0x348a071a
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
push ecx
mov esi, 0xfffffc08
call fcn.348b43b3
mov eax, esi
jmp 0x348a096f
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push esi
push ecx
call fcn.348c769e
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
push ecx
mov esi, 0xfffffa1d
call fcn.348b43b3
mov eax, esi
jmp 0x348a096f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
push ecx
mov esi, 0xfffffa86
call fcn.348b43b3
mov eax, esi
jmp 0x348a096f
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx]
push edi
push 0
push esi
call sub.msvcr80.dll_memset
mov dl, byte [esp + 0x38]
mov eax, ebx
shr eax, 3
and eax, 1
add eax, eax
mov byte [esi + 1], dl
mov ecx, ebx
shr ecx, 2
and ecx, 1
or eax, ecx
mov ecx, dword [esi + 4]
add eax, eax
mov edx, ebx
and edx, 1
or eax, edx
mov edx, dword [esp + 0x2c]
add eax, eax
shr ebx, 1
and ebx, 1
or eax, ebx
shl eax, 5
and ecx, 0xfffffe1f
or eax, ecx
mov dword [esi + 4], eax
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x40], ecx
mov edi, dword [eax + 0x14]
mov edx, dword [edi + 0x110]
lea eax, [esp + 0x74]
add esi, 0x18
mov dword [esp + 0x48], eax
mov al, byte [ebp]
add esp, 0xc
test al, al
mov dword [esp + 0x5c], edx
mov dword [esp + 0x44], esi
mov ebx, esi
mov byte [esp + 0x13], al
je 0x348a05ae
push 0x41
add ebp, 1
push ebp
lea ecx, [esp + 0x104]
push ecx
call fcn.348a49f9
test eax, eax
mov dword [esp + 0x28], eax
je 0x348a061f
movzx ecx, word [edi + 0xec]
lea edx, [esp + 0x60]
push edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x28]
push eax
push 0
push 0
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x74]
lea eax, [esp + 0x114]
push eax
push ecx
push edx
call fcn.348a4b13
mov esi, eax
test esi, esi
jl 0x348a071a
mov eax, dword [esp + 0x24]
test eax, eax
je 0x348a0605
mov edx, dword [edi + 0x64]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
call fcn.34899c25
movzx ax, byte [eax]
movzx eax, ax
cmp ax, 0xb
mov dword [esp + 0x40], eax
mov byte [ebx + 4], al
je 0x348a0657
cmp ax, 0xc
je 0x348a0657
mov edx, dword [edi + 0x78]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
call fcn.34899c25
mov ecx, dword [eax]
mov eax, dword [esp + 0x44]
cmp eax, ebx
mov dword [ebx], ecx
je 0x348a04d2
cmp dword [eax], ecx
je 0x348a0629
add eax, 8
cmp eax, ebx
jne 0x348a04c3
cmp byte [esp + 0x13], 0x2d
jne 0x348a04df
or word [ebx + 6], 0x8000
mov edx, dword [edi + 0x68]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
call fcn.34899c25
test eax, eax
mov esi, dword [esp + 0x3c]
jne 0x348a04ff
mov word [esi], ax
jmp 0x348a0505
mov cx, word [eax]
mov word [esi], cx
mov eax, dword [edi + 0x7c]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x14]
push edx
push eax
push ecx
call fcn.34899c25
test eax, eax
jne 0x348a0522
mov word [esi + 2], ax
jmp 0x348a0529
mov dx, word [eax]
mov word [esi + 2], dx
mov ecx, dword [edi + 0x60]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x14]
push eax
push ecx
push edx
call fcn.34899c25
test eax, eax
jne 0x348a0546
mov word [esi + 4], ax
jmp 0x348a054d
mov ax, word [eax]
mov word [esi + 4], ax
cmp word [esp + 0x40], 0xa
jne 0x348a058c
movzx ecx, word [esi + 4]
movzx edx, word [esi + 2]
movzx eax, word [esi]
push ecx
push edx
push eax
call fcn.348b56a4
test byte [edi + 0x120], 0x80
je 0x348a057f
cmp al, 4
je 0x348a057d
cmp al, 5
je 0x348a057d
cmp al, 6
jne 0x348a057f
mov al, 1
cmp byte [ebx + 5], 0xff
je 0x348a0633
mov byte [ebx + 5], al
mov ecx, dword [esp + 0x28]
mov al, byte [ecx + ebp + 1]
lea ebp, [ecx + ebp + 1]
add esi, 8
add ebx, 8
test al, al
mov dword [esp + 0x3c], esi
mov byte [esp + 0x13], al
jne 0x348a040c
movzx ecx, word [edi + 0xee]
mov ebp, dword [edi + 0x114]
lea edx, [esp + 0x64]
push edx
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x58]
push eax
push 0
push 0
push ecx
mov ecx, dword [esp + 0x48]
push edx
lea eax, [esp + 0xd0]
push eax
push ecx
push ebp
mov dword [esp + 0x68], ebp
call fcn.348a4b13
mov esi, eax
test esi, esi
jl 0x348a071a
cmp dword [esp + 0x54], 0
je 0x348a067b
mov esi, 0xfffffa85
jmp 0x348a071a
mov edx, dword [esp + 0x18]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebp
push edx
call fcn.348c769e
mov esi, 0xfffffa1d
jmp 0x348a071a
mov esi, 0xfffffa82
jmp 0x348a071a
mov eax, dword [esp + 0x18]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebp
push eax
call fcn.348c769e
mov esi, 0xfffffbd8
jmp 0x348a071a
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebp
push ecx
call fcn.348c769e
mov esi, 0xfffffa17
jmp 0x348a071a
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
push 1
push 0
push edx
push eax
push edi
call fcn.348a63a1
movzx eax, ax
cmp ax, 0xff
mov dword [esp + 0x48], eax
jne 0x348a06d5
mov ecx, dword [esp + 0x18]
push ecx
call fcn.348af444
test eax, eax
jl 0x348a096f
mov eax, dword [ebx]
mov ecx, dword [esi + 0x10]
lea edx, [esp + 0x48]
push edx
push eax
push ecx
push edi
mov dword [esp + 0x40], 1
call fcn.348a741e
mov esi, eax
test esi, esi
jl 0x348a071a
jmp 0x348a06ef
mov edx, dword [esp + 0x18]
push edx
call fcn.348af444
test eax, eax
jl 0x348a096f
mov dword [esp + 0x30], 1
push 0x800
call fcn.348c4e70
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x28], ebx
jne 0x348a074f
mov esi, 0xfffffc0d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x348a0716
push eax
call fcn.348c4ea5
test esi, esi
jge 0x348a0748
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x348a072f
mov edx, dword [0x348ca260]
push eax
push edx
call fcn.348c5004
cmp dword [esp + 0x30], 0
je 0x348a073b
call fcn.348aceef
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.348b43b3
mov eax, esi
jmp 0x348a096f
push ebx
push ebp
call fcn.348b6ac0
mov esi, eax
test esi, esi
jl 0x348a0708
mov ecx, dword [edi + 0xb4]
push 4
lea eax, [esp + 0x38]
push eax
push ecx
add ebx, 4
push ebx
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a0708
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 0xb0]
push edx
lea eax, [esp + 0xbc]
push eax
push ecx
push ebx
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a0708
mov eax, dword [edi + 0xa4]
push 2
lea edx, [esp + 0x4c]
push edx
push eax
push ebx
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a0708
push 1
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], 0
mov edx, dword [edi + 0xbc]
push ecx
push edx
push ebx
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a0708
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax]
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0xa0]
shl ecx, 0x19
sar ecx, 0x1f
push ecx
push edx
push ebx
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a0708
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x9c]
shl eax, 0x1a
sar eax, 0x1f
push eax
push ecx
push ebx
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a0708
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x90]
shl edx, 0x18
sar edx, 0x1f
push edx
push eax
push ebx
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a0708
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x98]
shl ecx, 0x17
sar ecx, 0x1f
push ecx
push edx
push ebx
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a0708
mov eax, dword [esp + 0x2c]
add eax, eax
add eax, eax
add eax, eax
push eax
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0xc0]
add ebp, 0x18
push ebp
push eax
push ebx
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a0708
mov ecx, dword [esp + 0x40]
mov eax, dword [edi + 0xc8]
push ecx
lea edx, [esp + 0x6c]
push edx
push eax
push ebx
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a0708
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x348ca260]
push ecx
push edx
call fcn.348c5004
mov eax, dword [esp + 0x44]
push 0
push ebx
push eax
mov dword [esp + 0x28], 0
call fcn.348b887d
mov esi, eax
test esi, esi
jl 0x348a0708
mov ecx, dword [esp + 0x28]
push ecx
call fcn.348c4ea5
mov edx, dword [esp + 0x34]
push edx
push edi
call fcn.348a4147
mov esi, eax
test esi, esi
jl 0x348a0736
mov eax, dword [esp + 0x18]
push 1
push eax
call fcn.348b0141
mov esi, eax
test esi, esi
jl 0x348a0736
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
push ecx
mov dword [esp + 0x34], 0
call fcn.348b43b3
mov eax, dword [0x348ebb48]
cmp dword [eax + 0x28], 0
jbe 0x348a0957
mov edx, dword [esi + 0x10]
cmp dword [edx + 0x44], 0
jne 0x348a0957
mov ecx, edx
mov dword [ecx + 0x44], eax
mov eax, dword [0x348ebb48]
mov edx, dword [esi + 0x10]
mov ecx, dword [eax + 0x28]
mov dword [edx + 0x48], ecx
mov esi, dword [esp + 0x4c]
neg esi
sbb esi, esi
and esi, 0x1393
jmp 0x348a0716
mov eax, 0xfffffae3
pop ebx
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.348c86f8
add esp, 0x134
ret 0x1c