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

Disassembly:
sub esp, 0x268
mov eax, dword [0x34893850]
xor eax, esp
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x274]
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x27c]
push ebx
mov ebx, dword [esp + 0x270]
push esi
mov esi, dword [esp + 0x278]
push edi
xor edi, edi
cmp dword [0x348ca248], edi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x64], edi
mov byte [esp + 0xe], 0
mov byte [esp + 0xf], 0
je 0x348a1f15
mov eax, 0xfffffbd7
jmp 0x348a300a
mov dword [0x348ebb48], ebx
mov ecx, dword [ebx + 0x2c]
mov dword [0x348ebb18], ecx
mov edx, dword [esi + 0x10]
push ebp
mov ebp, dword [edx + 0x14]
mov eax, dword [ebp + 0x120]
test al, al
js 0x348a1f40
test eax, 0x800
jne 0x348a1f40
xor eax, eax
jmp 0x348a1f45
mov eax, 1
mov ecx, dword [esp + 0x294]
test ecx, 0x10000
mov dword [esp + 0x70], eax
je 0x348a1f65
and ecx, 0xfffeffff
mov dword [esp + 0x294], ecx
cmp eax, edi
je 0x348a1f7b
test ecx, 0xfffffffc
je 0x348a1fbb
mov eax, 0xfffffc15
jmp 0x348a3009
test ecx, 0xffff00fc
jne 0x348a1f71
mov eax, ecx
and eax, 0xf00
je 0x348a1f9a
cmp eax, 0x100
jne 0x348a1f71
mov byte [esp + 0x12], 1
jmp 0x348a1f9f
mov byte [esp + 0x12], 0
mov eax, ecx
and eax, 0xf000
je 0x348a1fb6
cmp eax, 0x1000
jne 0x348a1f71
mov byte [esp + 0x13], 1
jmp 0x348a1fbb
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x294]
shr eax, 1
push esi
and eax, 1
push ebx
mov dword [esp + 0x74], eax
call fcn.348acfba
mov al, byte [esi + 0x65]
test al, 8
je 0x348a1fe3
mov eax, 0xfffff8ef
jmp 0x348a3009
test al, 4
je 0x348a3004
mov eax, dword [esi + 0x10]
cmp word [eax + 0x28], 1
ja 0x348a3004
push eax
call fcn.348b5271
cmp eax, edi
jl 0x348a3009
mov eax, dword [esi + 0x10]
cmp word [eax + 0x54], di
jne 0x348a201e
push eax
call fcn.348b5b30
cmp eax, edi
jl 0x348a3009
mov eax, dword [ebx]
mov ecx, dword [0x348eb6cc]
mov edx, dword [ecx + 0xc]
push 0x348eb6c8
push eax
call edx
push ebx
call fcn.348af444
cmp eax, edi
jl 0x348a3009
mov eax, dword [esi + 0x10]
lea edx, [esp + 0x48]
push edx
push edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x3c], edi
mov ecx, dword [eax + 0x18]
push 0x41
lea eax, [esp + 0x13c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x88]
push eax
push ecx
push ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x68], edi
call fcn.348a4e2b
mov esi, eax
cmp esi, edi
jl 0x348a2f64
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x30]
jne 0x348a2098
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x348a20b5
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x20]
push edx
push 6
push eax
push ebp
call fcn.348b44c7
mov esi, eax
test esi, esi
jl 0x348a2f64
mov eax, dword [esp + 0x64]
push 0x41
push eax
lea ecx, [esp + 0x138]
push ecx
call fcn.348a49f9
test eax, eax
mov dword [esp + 0x64], eax
jne 0x348a20db
mov esi, 0xfffffc16
jmp 0x348a2f64
mov esi, dword [esp + 0x18]
xor ebx, ebx
cmp byte [esi], bl
je 0x348a2116
mov edx, ebx
add ebx, 1
cmp edx, 0xa
je 0x348a2120
push 0x41
push esi
lea eax, [esp + 0xf4]
push eax
call fcn.348a49f9
test eax, eax
je 0x348a212e
cmp byte [esi + eax + 1], 0
lea esi, [esi + eax + 1]
jne 0x348a20e5
test ebx, ebx
mov dword [esp + 0x4c], ebx
jne 0x348a2156
mov esi, 0xfffffc15
jmp 0x348a2f64
mov dword [esp + 0x4c], ebx
mov esi, 0xfffffc08
jmp 0x348a2f64
mov ecx, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push esi
push ecx
mov dword [esp + 0x6c], ebx
call fcn.348c769e
mov esi, 0xfffffa1d
jmp 0x348a2f64
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
push 0
push eax
call fcn.348b4cbf
mov esi, eax
test esi, esi
jl 0x348a2f64
mov ecx, dword [0x348ca260]
lea eax, [ebx*8 + 0x18]
push eax
push ecx
mov dword [esp + 0x4c], eax
call fcn.348c4fa9
test eax, eax
mov dword [esp + 0x24], eax
jne 0x348a2199
mov esi, 0xfffffc0d
jmp 0x348a2f64
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
mov esi, dword [edx]
push eax
push 0
push esi
call sub.msvcr80.dll_memset
movzx ecx, word [esp + 0x2a0]
mov edx, dword [esp + 0x34]
shl ecx, 6
xor ecx, dword [esi + 4]
mov byte [esi + 1], bl
mov ebx, dword [esp + 0x24]
and ecx, 0x40
xor dword [esi + 4], ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x18]
mov dword [esi + 8], ecx
mov dl, byte [esp + 0x1e]
mov byte [esi + 0xe], dl
mov al, byte [esp + 0x1f]
mov byte [esi + 0xf], al
mov ecx, dword [ebp + 0x110]
add esi, 0x18
add esp, 0xc
cmp byte [ebx], 0
lea edx, [esp + 0x9c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x60], esi
mov edi, esi
mov dword [esp + 0x78], edx
je 0x348a23b4
push 0x41
push ebx
lea eax, [esp + 0xf4]
push eax
call fcn.348a49f9
test eax, eax
mov dword [esp + 0x5c], eax
je 0x348a2414
movzx eax, word [ebp + 0xec]
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x104]
push edx
push eax
push ecx
call fcn.348a4b13
mov esi, eax
test esi, esi
jl 0x348a2f64
mov eax, dword [esp + 0x18]
test eax, eax
je 0x348a2438
mov ecx, dword [ebp + 0x64]
lea edx, [esp + 0x14]
push edx
push ecx
push eax
call fcn.34899c25
movzx dx, byte [eax]
movzx eax, dx
cmp ax, 0xb
mov dword [esp + 0x58], eax
mov byte [edi + 4], al
je 0x348a24a4
cmp ax, 0xc
je 0x348a24a4
mov ecx, dword [ebp + 0x78]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push eax
push ecx
push edx
call fcn.34899c25
mov ecx, dword [eax]
mov eax, dword [esp + 0x28]
mov dword [edi], ecx
mov eax, dword [eax + 0x10]
cmp ecx, dword [eax + 0x34]
je 0x348a22cc
cmp ecx, dword [eax + 0x30]
jne 0x348a22d7
cmp byte [esp + 0x12], 1
je 0x348a245c
mov eax, dword [esp + 0x60]
cmp eax, edi
je 0x348a22ee
cmp dword [eax], ecx
je 0x348a2883
add eax, 8
cmp eax, edi
jne 0x348a22df
mov edx, dword [ebp + 0x68]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
call fcn.34899c25
test eax, eax
mov esi, dword [esp + 0x78]
jne 0x348a230e
mov word [esi], ax
jmp 0x348a2314
mov cx, word [eax]
mov word [esi], cx
mov eax, dword [ebp + 0x7c]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x14]
push edx
push eax
push ecx
call fcn.34899c25
test eax, eax
jne 0x348a2331
mov word [esi + 2], ax
jmp 0x348a2338
mov dx, word [eax]
mov word [esi + 2], dx
mov ecx, dword [ebp + 0x60]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push eax
push ecx
push edx
call fcn.34899c25
test eax, eax
jne 0x348a2355
mov word [esi + 4], ax
jmp 0x348a235c
mov ax, word [eax]
mov word [esi + 4], ax
cmp word [esp + 0x58], 0xa
jne 0x348a2399
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 [ebp + 0x120], 0x80
je 0x348a238e
cmp al, 4
je 0x348a238c
cmp al, 5
je 0x348a238c
cmp al, 6
jne 0x348a238e
mov al, 1
cmp al, 0xff
mov byte [edi + 5], al
je 0x348a2480
mov ecx, dword [esp + 0x5c]
lea ebx, [ebx + ecx + 1]
add esi, 8
add edi, 8
cmp byte [ebx], 0
mov dword [esp + 0x78], esi
jne 0x348a220c
mov eax, dword [ebp + 0x114]
lea ecx, [esp + 0x98]
push ecx
movzx ecx, word [ebp + 0xee]
lea edx, [esp + 0x8c]
push edx
mov edx, dword [esp + 0x6c]
push 0
push 0
push ecx
push edx
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x148]
push ecx
push edx
push eax
mov dword [esp + 0x3c], eax
call fcn.348a4b13
mov esi, eax
test esi, esi
jl 0x348a2f64
cmp dword [esp + 0x88], 0
je 0x348a24c8
mov esi, 0xfffffa85
jmp 0x348a2f64
mov edx, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebx
push edx
call fcn.348c769e
mov esi, 0xfffffa1d
jmp 0x348a2f64
mov eax, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebx
push eax
call fcn.348c769e
mov esi, 0xfffffa1d
jmp 0x348a2f64
mov ecx, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebx
push ecx
call fcn.348c769e
mov esi, 0xfffffbe8
jmp 0x348a2f64
mov edx, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebx
push edx
call fcn.348c769e
mov esi, 0xfffffbd8
jmp 0x348a2f64
mov eax, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push ebx
push eax
call fcn.348c769e
mov esi, 0xfffffa17
jmp 0x348a2f64
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
push 1
push 1
push ecx
push eax
push ebp
call fcn.348a63a1
mov esi, dword [esp + 0x54]
test esi, esi
movzx ecx, ax
mov dword [esp + 0x3c], ecx
jne 0x348a257c
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x58]
push edx
push eax
call fcn.348b4cbf
mov esi, eax
test esi, esi
jl 0x348a2f64
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
movzx edx, word [eax]
add eax, 0xc
xor ecx, ecx
test edx, edx
mov dword [esp + 0x38], 0xff
jbe 0x348a255b
mov bl, 0x20
lea ecx, [ecx]
test byte [eax + 4], bl
jne 0x348a2549
movzx esi, byte [eax + 1]
add ecx, 1
cmp ecx, edx
lea eax, [eax + esi*8 + 0x18]
jb 0x348a252b
mov esi, 0xfffffa84
jmp 0x348a2f64
movzx dx, byte [eax]
movzx ecx, dx
cmp cx, 0xff
mov dword [esp + 0x38], ecx
jne 0x348a2565
mov esi, 0xfffffa84
jmp 0x348a2f64
mov ebx, dword [esp + 0x4c]
cmp byte [eax + 1], bl
je 0x348a27d1
mov esi, 0xfffffc15
jmp 0x348a2f64
xor edi, edi
cmp byte [esi], 0
je 0x348a25b0
mov eax, edi
add edi, 1
cmp eax, 0xa
je 0x348a2124
push 0x41
push esi
lea ecx, [esp + 0xf4]
push ecx
call fcn.348a49f9
test eax, eax
je 0x348a25c2
cmp byte [esi + eax + 1], 0
lea esi, [esi + eax + 1]
jne 0x348a2583
mov ebx, dword [esp + 0x4c]
cmp edi, ebx
je 0x348a25e6
mov esi, 0xfffffc15
jmp 0x348a2f64
mov edx, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push esi
push edx
call fcn.348c769e
mov esi, 0xfffffa1d
jmp 0x348a2f64
mov eax, dword [esp + 0x44]
mov ecx, dword [0x348ca260]
push eax
push ecx
call fcn.348c4fa9
test eax, eax
mov dword [esp + 0x50], eax
jne 0x348a2609
mov esi, 0xfffffc0d
jmp 0x348a2f64
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
push ecx
push 0
push eax
mov dword [esp + 0x38], eax
call sub.msvcr80.dll_memset
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x60]
mov byte [edx + 1], bl
mov eax, dword [esp + 0x38]
or dword [eax + 4], 0x40
mov ebx, dword [esp + 0x38]
add esp, 0xc
add ebx, 0x18
cmp byte [edi], 0
je 0x348a26e4
push 0x42
push edi
lea eax, [esp + 0xf4]
push eax
call fcn.348a49f9
test eax, eax
mov dword [esp + 0x5c], eax
je 0x348a2727
lea ecx, [esp + 0x80]
push ecx
movzx ecx, word [ebp + 0xec]
lea edx, [esp + 0x58]
push edx
push 0
push 0
push ecx
mov ecx, dword [esp + 0x54]
push eax
lea edx, [esp + 0x104]
lea edi, [eax + edi + 1]
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.348a4b13
mov esi, eax
test esi, esi
jl 0x348a2f64
mov eax, dword [esp + 0x54]
test eax, eax
je 0x348a274b
mov ecx, dword [ebp + 0x64]
lea edx, [esp + 0x14]
push edx
push ecx
push eax
call fcn.34899c25
mov dl, byte [eax]
mov byte [ebx + 4], dl
mov ecx, dword [ebp + 0x78]
mov edx, dword [esp + 0x54]
lea eax, [esp + 0x14]
push eax
push ecx
push edx
call fcn.34899c25
mov eax, dword [eax]
mov dword [ebx], eax
add ebx, 8
cmp byte [edi], 0
jne 0x348a2646
mov edx, dword [esp + 0x1c]
push 0
push edx
call fcn.348b4cbf
mov esi, eax
test esi, esi
jl 0x348a2f64
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov edx, dword [esp + 0x1c]
push 0
push 1
push ecx
push edx
push ebp
call fcn.348a63a1
movzx eax, ax
cmp ax, 0xff
mov dword [esp + 0x38], eax
jne 0x348a2782
mov esi, 0xfffffa84
jmp 0x348a2f64
mov ecx, dword [esp + 0x20]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
push edi
push ecx
call fcn.348c769e
mov esi, 0xfffffa1d
jmp 0x348a2f64
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x5c]
push 0
push 0
push 0
push 0xffffdfd5
push 0
push 0
lea eax, [esp + 0x104]
push eax
push ecx
mov esi, 0xfffffa1d
mov byte [esp + edx + 0x10c], 0
call fcn.348c769e
jmp 0x348a2f64
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x58]
push ecx
push eax
push edx
call fcn.348ace92
mov esi, eax
test esi, esi
jl 0x348a2f64
mov eax, dword [esp + 0x58]
test byte [eax + 4], 2
jne 0x348a27b0
mov esi, 0xfffffa84
jmp 0x348a2f64
mov ecx, dword [esp + 0x50]
mov edx, dword [0x348ca260]
push ecx
push edx
call fcn.348c5004
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x48]
jne 0x348a27ec
cmp word [esp + 0x3c], cx
jne 0x348a27ec
mov esi, 0xfffffa81
jmp 0x348a2f64
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
push edx
push ecx
push eax
call fcn.348ace92
mov esi, eax
test esi, esi
jl 0x348a2f64
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
xor esi, esi
test ebx, ebx
mov dword [esp + 0x40], edi
jbe 0x348a287f
mov ecx, 0xffffffe2
sub ecx, edi
lea eax, [edi + 0x1e]
mov dword [esp + 0x60], ecx
jmp 0x348a282a
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x2c]
add ecx, eax
add ecx, edx
mov dl, byte [eax - 2]
cmp dl, byte [ecx + 0x1c]
jne 0x348a287f
cmp dl, 0xa
jne 0x348a2847
mov dl, byte [eax - 1]
cmp dl, byte [ecx + 0x1d]
jne 0x348a287f
movzx ecx, word [ecx + 0x1e]
movzx edx, word [eax]
mov edi, ecx
xor edi, edx
test edi, 0x8000
je 0x348a2871
mov edi, ecx
xor edi, edx
and edi, 0x7fff
xor edi, ecx
mov word [eax], di
mov dword [esp + 0x3c], 0xff
mov edi, dword [esp + 0x40]
add esi, 1
add eax, 8
cmp esi, ebx
jb 0x348a2826
cmp esi, ebx
je 0x348a288d
mov esi, 0xfffffa82
jmp 0x348a2f64
cmp word [esp + 0x3c], 0xff
jne 0x348a28d8
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx + 0x10]
push 1
push 1
push eax
push ecx
push ebp
call fcn.348a63a1
movzx eax, ax
cmp ax, 0xff
mov dword [esp + 0x3c], eax
jne 0x348a28d8
mov eax, dword [esi]
mov ecx, dword [ebx + 0x10]
lea edx, [esp + 0x3c]
push edx
push eax
push ecx
push ebp
call fcn.348a741e
mov esi, eax
test esi, esi
jl 0x348a2f64
cmp dword [esp + 0x6c], 0
jne 0x348a2aaa
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x34]
push edx
mov edx, dword [ecx + 0x10]
push 1
push eax
push edx
call fcn.3489cba3
mov esi, eax
test esi, esi
jl 0x348a2f64
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x40]
push eax
push 2
push ecx
call fcn.3489d30c
mov esi, eax
test esi, esi
jl 0x348a2f64
mov ebx, 0x100
cmp dword [esp + 0x40], 0
je 0x348a2a86
mov eax, dword [esp + 0x34]
push 0xff
lea edx, [esp + 0x179]
push edx
push eax
call fcn.3489d111
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x178]
mov byte [esp + 0x178], al
mov eax, dword [esp + 0x3c]
push edx
push eax
push ecx
call fcn.3489ce19
mov esi, eax
test esi, esi
jl 0x348a2f64
cmp dword [esp + 0x84], 0
jne 0x348a2a1a
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x64]
push eax
push ecx
call fcn.3489c7c1
mov esi, eax
test esi, esi
jl 0x348a2f64
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x174]
mov byte [esp + 0x174], 0
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], 0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x120]
test al, al
js 0x348a29ea
test eax, 0x800
jne 0x348a29ea
xor eax, eax
jmp 0x348a29ef
mov eax, 1
mov ecx, dword [esp + 0x60]
push eax
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x94]
push eax
push edi
push ecx
call fcn.348b7110
mov esi, eax
test esi, esi
jl 0x348a2f64
cmp word [esp + 0x14], 0xffff
je 0x348a2a3a
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x40]
push edx
push 2
push eax
call fcn.3489d30c
mov esi, eax
test esi, esi
jge 0x348a2926
jmp 0x348a2f64
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
push 1
push 0x41
lea ecx, [esp + 0xf4]
push ecx
push edx
push eax
call fcn.348aa0d4
mov ecx, dword [esp + 0x7c]
mov eax, dword [0x348ebb48]
push 0
push 0
push 0
push 0xffffe01b
push 0
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x104]
push edx
push ecx
call fcn.348c769e
mov esi, 0xfffff9b3
jmp 0x348a2f64
test esi, esi
jl 0x348a2f64
mov edx, dword [esp + 0x34]
push edx
call fcn.3489c759
mov esi, eax
test esi, esi
jl 0x348a2f64
mov dword [esp + 0x34], 0
push 0x800
call fcn.348c4e70
mov edi, eax
test edi, edi
mov dword [esp + 0x44], edi
jne 0x348a2ac8
mov esi, 0xfffffc0d
jmp 0x348a2f56
mov eax, dword [esp + 0x18]
push edi
push eax
call fcn.348b6ac0
mov esi, eax
test esi, esi
jl 0x348a2f56
mov edx, dword [ebp + 0xb4]
push 4
lea ecx, [esp + 0x34]
push ecx
push edx
add edi, 4
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x64]
mov edx, dword [ebp + 0xb0]
push eax
lea ecx, [esp + 0x134]
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [ebp + 0xa4]
push 2
lea eax, [esp + 0x40]
push eax
push ecx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
push 1
lea edx, [esp + 0x78]
mov dword [esp + 0x78], 1
mov eax, dword [ebp + 0xbc]
push edx
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx]
mov edx, dword [ebx + 4]
mov eax, dword [ebp + 0xa0]
shl edx, 0x19
sar edx, 0x1f
push edx
push eax
push edi
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0xc0]
add eax, eax
add eax, eax
add eax, eax
push eax
add ebx, 0x18
push ebx
push ecx
push edi
mov dword [esp + 0x24], eax
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc8]
push edx
lea eax, [esp + 0xa0]
push eax
push ecx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [ebp + 0xb8]
push 4
lea edx, [esp + 0x4c]
push edx
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov edx, dword [ebp + 0xa8]
push 2
lea ecx, [esp + 0x3c]
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.348ace92
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 0xc4]
push eax
add ecx, 0x18
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 0xcc]
push eax
lea ecx, [esp + 0xa0]
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x94]
push eax
push ecx
push edi
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a2f56
cmp dword [esp + 0x70], 0
jne 0x348a2cdc
mov eax, dword [ebp + 0xd0]
push 1
lea edx, [esp + 0x16]
push edx
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov edx, dword [ebp + 0x8c]
push 1
lea ecx, [esp + 0x17]
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x18]
push 0
push edi
push eax
call fcn.348b887d
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.348b6ac0
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [ebp + 0xb4]
push 4
lea eax, [esp + 0x4c]
push eax
push ecx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [ebp + 0xa4]
push 2
lea edx, [esp + 0x3c]
push edx
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
push 1
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 2
mov edx, dword [ebp + 0xbc]
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.348ace92
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp + 0xa0]
shl ecx, 0x19
sar ecx, 0x1f
push ecx
push edx
push edi
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 0xc0]
push eax
add ecx, 0x18
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 0xc8]
push eax
lea ecx, [esp + 0xa0]
push ecx
push edx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [ebp + 0xb8]
push 4
lea eax, [esp + 0x34]
push eax
push ecx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [ebp + 0xa8]
push 2
lea edx, [esp + 0x40]
push edx
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov edx, dword [esp + 0x14]
push edx
add eax, 0x18
push eax
mov eax, dword [ebp + 0xc4]
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0xcc]
push ecx
lea edx, [esp + 0xa0]
push edx
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x6c]
mov edx, dword [ebp + 0x94]
push ecx
push edx
push edi
call fcn.3489a1de
mov esi, eax
test esi, esi
jl 0x348a2f56
cmp dword [esp + 0x70], 0
jne 0x348a2eda
mov ecx, dword [ebp + 0xd0]
push 1
lea eax, [esp + 0x16]
push eax
push ecx
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [ebp + 0x8c]
push 1
lea edx, [esp + 0x17]
push edx
push eax
push edi
call fcn.34899eca
mov esi, eax
test esi, esi
jl 0x348a2f56
mov ecx, dword [esp + 0x18]
push 0
push edi
push ecx
call fcn.348b887d
mov esi, eax
test esi, esi
jl 0x348a2f56
mov edx, dword [esp + 0x44]
push edx
call fcn.348c4ea5
mov eax, dword [esp + 0x24]
mov ecx, dword [0x348ca260]
push eax
push ecx
call fcn.348c5004
mov edx, dword [esp + 0x30]
push edx
push ebp
mov dword [esp + 0x2c], 0
call fcn.348a4147
mov esi, eax
test esi, esi
jl 0x348a2f56
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x30]
je 0x348a2f3a
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.348b4f92
mov eax, dword [esp + 0x20]
push 1
xor edi, edi
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x70], edi
call fcn.348b0141
mov esi, eax
cmp esi, edi
jge 0x348a2fcb
mov eax, dword [esp + 0x44]
test eax, eax
je 0x348a2f64
push eax
call fcn.348c4ea5
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x48], ecx
je 0x348a2f7d
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.348b5230
mov eax, dword [esp + 0x24]
test eax, eax
je 0x348a2f92
mov ecx, dword [0x348ca260]
push eax
push ecx
call fcn.348c5004
mov eax, dword [esp + 0x50]
test eax, eax
je 0x348a2fa7
mov edx, dword [0x348ca260]
push eax
push edx
call fcn.348c5004
mov eax, dword [esp + 0x34]
push eax
call fcn.3489c7aa
test eax, eax
jl 0x348a3009
call fcn.348aceef
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x10]
push edx
call fcn.348b43b3
mov eax, esi
jmp 0x348a3009
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 0x10]
push eax
call fcn.348b43b3
mov eax, dword [0x348ebb48]
cmp dword [eax + 0x28], 0
jbe 0x348a3000
mov ecx, dword [esi + 0x10]
cmp dword [ecx + 0x44], 0
jne 0x348a3000
mov edx, ecx
mov dword [edx + 0x44], eax
mov ecx, dword [0x348ebb48]
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0x28]
mov dword [eax + 0x48], edx
xor eax, eax
jmp 0x348a3009
mov eax, 0xfffffae3
pop ebp
mov ecx, dword [esp + 0x270]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.348c86f8
add esp, 0x268
ret 0x1c