Function at 0x7eee30
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x120
mov ebx, ecx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
call fcn.0081c010
mov dword [ebx], fcn.007efd70
mov dword [ebx + 4], 0x93c7a4
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], edi
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x10], eax
push 0x10
call fcn.0051c3d0
add esp, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], 0x11
mov dword [esp + 0x34], 0xc
mov dword [eax + 8], 0x6d6f646e
mov dword [eax + 4], 0x6172752f
mov dword [eax], 0x7665642f
mov byte [eax + 0xc], 0
lea eax, [esp + 0x30]
lea esi, [esp + 0x10]
mov ecx, esi
push eax
call fcn.0081c040
mov ecx, esi
call fcn.0081c150
mov ecx, eax
mov edx, 3
mul edx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
mov edx, eax
shl edx, 0x1f
or edx, eax
add edx, ecx
mov eax, 1
cmovne eax, edx
mov dword [ebx + 0x18], eax
mov ecx, esi
call fcn.0081c140
test byte [esp + 0x30], 1
je 0x7eeef4
push dword [esp + 0x38]
call fcn.0051c570
add esp, 4
movaps xmm0, xmmword [0x93c720]
movups xmmword [ebx + 0x20], xmm0
xorps xmm1, xmm1
movhps xmm1, qword [0x93c730]
movups xmmword [ebx + 0x30], xmm1
movups xmmword [ebx + 0x40], xmm0
movaps xmm0, xmmword [0x93c740]
movups xmmword [ebx + 0x50], xmm0
movaps xmm0, xmmword [0x93c750]
mov dword [esp + 4], ebx
movups xmmword [ebx + 0x60], xmm0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov ecx, eax
sub ecx, edx
sub eax, edx
je 0x7eefad
sar ecx, 4
imul esi, ecx, 0xaaaaaaab
cmp esi, 0x5555556
jae 0x7efd5e
push eax
call fcn.0051c3d0
add esp, 4
mov edi, eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], eax
lea eax, [esi + esi*2]
shl eax, 4
add eax, edi
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 8], eax
cmp ebx, eax
jne 0x7ef5fe
mov ebx, dword [esp + 4]
lea ecx, [ebx + 0x70]
mov eax, dword [ebp + 0x14]
movsd xmm0, qword [eax + 0x29]
movsd qword [esp + 0x111], xmm0
movups xmm0, xmmword [eax + 0xc]
movups xmm1, xmmword [eax + 0x1c]
movups xmmword [esp + 0x104], xmm1
movups xmmword [esp + 0xf4], xmm0
lea eax, [esp + 0xe8]
mov dword [esp + 8], ecx
push eax
call fcn.0081c1b0
mov esi, dword [esp + 0xe8]
test esi, esi
je 0x7ef035
mov edi, dword [esp + 0xec]
mov eax, esi
cmp edi, esi
je 0x7ef025
nop word cs:[eax + eax]
add edi, 0xffffffd0
mov ecx, edi
call fcn.00608a20
cmp edi, esi
jne 0x7ef010
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xec], esi
push eax
call fcn.0051c570
add esp, 4
lea edi, [ebx + 0x10]
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xd4], ecx
xorps xmm0, xmm0
movups xmmword [ebx + 0xd8], xmm0
movups xmmword [ebx + 0xe4], xmm0
cmp dword [ebx + 8], 0
jne 0x7ef151
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef151
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x26
lea ecx, [esp + 0x7c]
mov dword [esp + 0x44], 0x866ac4
lea esi, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push esi
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, esi
mov esi, dword [ebp + 0x18]
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
lea eax, [esp + 0x4c]
push eax
call fcn.00402f60
add esp, 0xc
push 0xc
push 0x93c7ff
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
mov dword [esp + 0xc], edi
cmp dword [edi], 0
jne 0x7ef248
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef248
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x27
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], 0x866ac4
lea edi, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push edi
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, edi
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
push esi
mov esi, dword [ebp + 0x18]
call fcn.00402f60
add esp, 0xc
push 0x11
push 0x93c817
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
mov eax, ebx
add ebx, 4
add eax, 0xd8
mov dword [esp + 0xdc], eax
lea edi, [esp + 0x30]
mov ecx, edi
push esi
call fcn.00608aa0
mov ecx, edi
call fcn.0060ae50
test al, al
je 0x7ef6ae
xorps xmm0, xmm0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x20], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov word [esp + 0x44], 0x14e9
push edi
push ebx
push dword [ebp + 8]
lea eax, [esp + 0x1c]
push eax
call fcn.0081ce30
add esp, 0x10
cmp byte [esp + 0x20], 0
jne 0x7ef39f
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef39f
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x32
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], 0x866ac4
lea edi, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push edi
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, edi
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
push esi
mov esi, dword [ebp + 0x18]
call fcn.00402f60
add esp, 0xc
push 0x12
push str._socket.is_error__
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
cmp dword [esp + 0x10], 0
jne 0x7ef494
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef494
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x33
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], 0x866ac4
lea edi, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push edi
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, edi
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
push esi
mov esi, dword [ebp + 0x18]
call fcn.00402f60
add esp, 0xc
push 0x14
push str.socket.value__.get__
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 8]
test al, al
jne 0x7ef58f
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef58f
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x34
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], 0x866ac4
lea edi, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push edi
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, edi
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
push esi
mov esi, dword [ebp + 0x18]
call fcn.00402f60
add esp, 0xc
push 0x18
push str.socket.value____IsIPv4__
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0xdc]
mov ecx, dword [edx]
mov dword [edx], eax
test ecx, ecx
je 0x7ef5af
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [esp + 0x20], 0
je 0x7ef6a5
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x7ef6ae
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x7ef6ae
add ebx, 0x30
mov edi, dword [esp + 0xec]
add edi, 0x30
mov dword [esp + 0xec], edi
cmp ebx, dword [esp + 8]
je 0x7eefad
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 6]
movsd qword [edi + 6], xmm1
movsd qword [edi], xmm0
lea ecx, [edi + 0x10]
lea eax, [ebx + 0x10]
push eax
call fcn.0051f860
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x20]
mov ecx, eax
sub ecx, edx
sub eax, edx
je 0x7ef5e0
sar ecx, 3
imul esi, ecx, 0xaaaaaaab
cmp esi, 0xaaaaaab
jae 0x7efd54
push eax
call fcn.0051c3d0
add esp, 4
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
lea ecx, [esi + esi*2]
lea ecx, [eax + ecx*8]
mov dword [edi + 0x28], ecx
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
cmp ecx, edx
je 0x7ef5e0
movsd xmm0, qword [ecx + 0x10]
movsd qword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
add ecx, 0x18
mov eax, dword [edi + 0x24]
add eax, 0x18
mov dword [edi + 0x24], eax
cmp ecx, edx
jne 0x7ef680
jmp 0x7ef5e0
lea ecx, [esp + 0x10]
call fcn.0060d3d0
lea edi, [esp + 0x30]
mov ecx, edi
push esi
call fcn.00608ae0
mov ecx, edi
call fcn.0060ae50
test al, al
je 0x7efa27
xorps xmm0, xmm0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], 1
movups xmmword [esp + 0x34], xmm0
mov word [esp + 0x44], 0x14e9
push edi
push ebx
push dword [ebp + 8]
lea eax, [esp + 0x1c]
push eax
call fcn.0081ce30
add esp, 0x10
cmp byte [esp + 0x20], 0
jne 0x7ef7f1
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef7f1
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x3d
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], 0x866ac4
lea ebx, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push ebx
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, ebx
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
push esi
call fcn.00402f60
add esp, 0xc
push 0x12
push str._socket.is_error__
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
cmp dword [esp + 0x10], 0
jne 0x7ef8e3
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef8e3
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x3e
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], 0x866ac4
lea ebx, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push ebx
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, ebx
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
push esi
call fcn.00402f60
add esp, 0xc
push 0x14
push str.socket.value__.get__
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xc]
test al, al
jne 0x7ef9db
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7ef9db
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x3f
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], 0x866ac4
lea ebx, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push ebx
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, ebx
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
push esi
call fcn.00402f60
add esp, 0xc
push 0x18
push str.socket.value____IsIPv6__
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], 0
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0xdc]
mov dword [edx + 0xdc], eax
test ecx, ecx
je 0x7efa00
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [esp + 0x20], 0
je 0x7efa1e
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x7efa27
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x7efa27
lea ecx, [esp + 0x10]
call fcn.0060d3d0
mov eax, dword [esp + 0xdc]
mov esi, dword [eax]
test esi, esi
jne 0x7efb33
mov eax, dword [esp + 4]
mov esi, dword [eax + 0xdc]
test esi, esi
jne 0x7efb33
xor esi, esi
push str.external_openscreen_discovery_mdns_mdns_service_impl.cc
push 4
call fcn.0075e090
add esp, 8
test al, al
je 0x7efb33
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], str.external_openscreen_discovery_mdns_mdns_service_impl.cc
mov dword [esp + 0x38], 0x47
lea ecx, [esp + 0x7c]
mov dword [esp + 0x44], 0x866ac4
lea ebx, [esp + 0x48]
mov dword [esp + 0x3c], 0x866be8
mov dword [esp + 0x7c], 0x866bfc
mov dword [esp + 0x40], 0
push ebx
call fcn.004cf350
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x3c], 0x866ab0
mov dword [esp + 0x7c], 0x866ad8
mov dword [esp + 0x44], 0x866ac4
mov ecx, ebx
call fcn.004cf9a0
mov dword [esp + 0x48], 0x865954
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x18
push 0xa
push 0x93c7f4
lea eax, [esp + 0x4c]
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push str.socket_ptr
push eax
call fcn.00402f60
add esp, 0xc
push 0xa
push 0x93c80c
push eax
call fcn.00402f60
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0060f450
push 8
call fcn.0051c3d0
add esp, 4
mov ebx, eax
mov ecx, eax
push esi
call fcn.0081f040
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xe0]
mov dword [eax + 0xe0], ebx
mov ebx, eax
test ecx, ecx
je 0x7efb62
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebx + 0x18]
mov dword [esp + 0xd8], eax
mov ecx, dword [ebp + 0x14]
cmp byte [ecx + 0x24], 0
je 0x7efc06
lea eax, [ebx + 8]
mov edi, ecx
mov ecx, dword [ebx + 0xe0]
mov dword [esp + 0x10], ecx
lea ecx, [ebx + 0xc]
mov edx, dword [esp + 8]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0xe0], edx
lea edx, [esp + 0xe0]
lea esi, [esp + 0xe4]
push edi
push dword [esp + 0x10]
push edx
push ecx
push eax
push esi
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.007f0350
add esp, 0x20
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], 0
mov ecx, dword [ebx + 0xe4]
mov dword [ebx + 0xe4], eax
test ecx, ecx
je 0x7efc03
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x7efc03
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0x14]
cmp byte [ecx + 0x10], 0
je 0x7efd20
mov edi, dword [ebx + 0xe0]
push 0x34
call fcn.0051c3d0
add esp, 4
mov esi, eax
mov ecx, eax
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [esp + 0xe0]
push dword [esp + 0x14]
push edi
call fcn.0081f3c0
mov ecx, dword [ebx + 0xe8]
mov dword [ebx + 0xe8], esi
test ecx, ecx
je 0x7efc56
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebx + 0xe8]
mov eax, dword [ebx + 0xe0]
mov dword [esp + 0xc], eax
push 0x80
call fcn.0051c3d0
add esp, 4
mov edi, eax
lea eax, [esi + 4]
test esi, esi
cmove eax, esi
mov ecx, edi
push dword [ebp + 0x14]
push dword [ebx + 0xc]
push dword [ebx + 8]
push eax
push dword [esp + 0x1c]
call fcn.00821850
mov ecx, dword [ebx + 0xec]
mov dword [ebx + 0xec], edi
test ecx, ecx
je 0x7efca7
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebx + 0xec]
mov eax, dword [ebx + 0xe0]
mov dword [esp + 0xc], eax
mov esi, dword [ebx + 0xe8]
push 0x2c
call fcn.0051c3d0
add esp, 4
mov ebx, eax
lea eax, [esi + 4]
test esi, esi
cmove eax, esi
mov ecx, ebx
push dword [ebp + 0x14]
push dword [esp + 0xdc]
mov edx, dword [esp + 0xc]
push dword [edx + 0xc]
mov edx, dword [esp + 0x10]
push dword [edx + 8]
push dword [esp + 0x18]
push dword [esp + 0x20]
push eax
push edi
call fcn.00825ec0
mov eax, dword [esp + 4]
mov edi, dword [eax + 0xf0]
mov eax, dword [esp + 4]
mov dword [eax + 0xf0], ebx
mov ebx, dword [esp + 4]
test edi, edi
je 0x7efd20
mov ecx, edi
call fcn.00826760
push edi
call fcn.0051c570
add esp, 4
mov ecx, dword [esp + 8]
call fcn.0081c7b0
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax]
test ecx, ecx
je 0x7efd3b
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [ebx + 0xdc]
test ecx, ecx
je 0x7efd4a
mov eax, dword [ecx]
call dword [eax + 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
add edi, 0x20
mov ecx, edi
call fcn.005256b0
lea ecx, [esp + 0xe8]
call fcn.005256b0
nop word [eax + eax]