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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov edi, ecx
mov eax, dword [0x10376020]
xor eax, ebp
mov dword [esp + 0xa8], eax
mov al, byte [0x10379a88]
mov byte [esp + 0x3b], al
test al, 0x19
jne 0x38e355
xor eax, eax
dec eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], eax
mov esi, dword [ebp + 8]
mov al, byte [0x1038e6f8]
test al, 1
jne 0x38e2ce
mov ecx, dword [esi + 0x70]
cmp byte [ecx + 0x154], 0
jne 0x38dee8
call fcn.003cccb0
test al, al
jne 0x38df15
cmp dword [edi + 0x58], 0
jne 0x38dd87
cmp dword [edi + 0x148], 0
jne 0x38df15
mov dword [esp + 0x48], 0
mov ecx, dword [esi + 0x70]
cmp byte [ecx + 0x155], 0
je 0x38df8e
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x64]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.003cc160
sub esp, 8
mov ebx, eax
mov bh, byte [0x10379a88]
test bh, 0x19
jne 0x38e3c2
xor eax, eax
dec eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa0], 0xffffffff
mov eax, dword [edi + 0x118]
cmp eax, dword [edi + 0x11c]
mov dword [esp + 0x64], edi
je 0x38def7
lea eax, [edi + 0x118]
mov dword [esp], eax
lea ecx, [esp + 0x90]
call fcn.002f9620
sub esp, 4
pcmpeqd xmm0, xmm0
lea edi, [esp + 0x70]
movdqa xmmword [edi], xmm0
mov dword [edi + 0x10], 0xffffffff
mov ecx, edi
call fcn.0034aed0
xor eax, eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
movzx esi, bl
mov eax, dword [esp + 0x98]
test eax, eax
je 0x38df31
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov edi, dword [eax + 4]
sub edi, dword [eax]
sar edi, 2
cmp edi, edx
cmovae edi, edx
mov edx, dword [esp + 0x78]
cmp ecx, edi
je 0x38df35
cmp eax, edx
je 0x38e157
mov byte [esp + 0x4c], bh
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x38e2a2
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebx]
mov edi, dword [eax]
mov ecx, edi
call dword [0x10391000]
mov dword [esp + 4], esi
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov ecx, ebx
call edi
sub esp, 8
cmp dword [esp + 0x98], 0
mov bh, byte [esp + 0x4c]
je 0x38de4a
inc dword [esp + 0x9c]
lea ecx, [esp + 0x90]
call fcn.002f9670
jmp 0x38de4a
mov byte [edi + 0x188], 1
mov ecx, dword [esi + 0x70]
jmp 0x38dd67
lea edi, [esp + 0x90]
mov ecx, edi
call fcn.0034aed0
xor eax, eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
jmp 0x38de22
mov eax, dword [ebp + 0xc]
lea ecx, [esi + 0x78]
mov dword [esp], eax
call fcn.00391bd0
sub esp, 4
mov al, 1
mov dword [esp + 0x48], eax
jmp 0x38dd8f
mov edx, dword [esp + 0x78]
test edx, edx
jne 0x38e2e0
lea ecx, [esp + 0x70]
call fcn.0038f740
lea ecx, [esp + 0x90]
call fcn.0038f740
test bh, 0x19
jne 0x38e30a
test byte [0x10379a88], 0x19
jne 0x38e42f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov dword [esp + 4], esi
mov esi, eax
mov dword [esp], eax
call fcn.003cb820
sub esp, 8
cmp byte [esp + 0x48], 0
mov edi, dword [esp + 0x64]
jne 0x38e01f
test byte [esp + 0x3b], 0x19
jne 0x38e175
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.002a5ceb
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov edx, dword [esp + 0x78]
test edx, edx
jne 0x38e1c0
lea ecx, [esp + 0x70]
call fcn.0038f7d0
lea ecx, [esp + 0x90]
call fcn.0038f7d0
test byte [esp + 0x48], 0x19
jne 0x38e1ea
mov al, byte [0x10379a88]
mov esi, dword [ebp + 8]
test al, 0x19
jne 0x38e4dd
mov ecx, dword [esi + 0x70]
lea eax, [esi + 0x78]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.003ccbf0
sub esp, 8
jmp 0x38df8e
lea esi, [esp + 0x90]
mov ecx, esi
call fcn.0034aed0
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
jmp 0x38e08b
cmp dword [edi + 0x58], 0
mov al, byte [0x10379a88]
jne 0x38dfe5
test al, 0x19
mov byte [esp + 0x48], al
jne 0x38e235
xor eax, eax
dec eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov dword [esp + 0xa0], 0xffffffff
mov eax, dword [edi + 0x134]
cmp eax, dword [edi + 0x138]
je 0x38e004
add edi, 0x134
mov dword [esp], edi
lea ecx, [esp + 0x90]
call fcn.0033b2c0
sub esp, 4
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x70]
movdqa xmmword [esi], xmm0
mov dword [esi + 0x10], 0xffffffff
mov ecx, esi
call fcn.0034aed0
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
lea esi, [esp + 0x90]
mov eax, dword [esp + 0x98]
test eax, eax
je 0x38dfb1
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov edi, dword [eax + 4]
sub edi, dword [eax]
sar edi, 2
cmp edi, edx
cmovae edi, edx
mov edx, dword [esp + 0x78]
cmp ecx, edi
je 0x38dfb5
cmp eax, edx
je 0x38e166
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
sar eax, 2
cmp eax, ecx
jbe 0x38e2a2
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebp + 8]
movsd xmm0, qword [eax + 0x80]
movsd qword [esp + 0x68], xmm0
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x10391000]
movq xmm0, qword [esp + 0x68]
movq qword [esp], xmm0
mov ecx, ebx
call edi
sub esp, 8
cmp dword [esp + 0x98], 0
je 0x38e0b7
inc dword [esp + 0x9c]
mov ecx, esi
call fcn.0033b310
jmp 0x38e0b7
cmp ecx, dword [esp + 0x7c]
je 0x38df3d
jmp 0x38de88
cmp ecx, dword [esp + 0x7c]
je 0x38dfbd
jmp 0x38e0f1
mov eax, dword [esp + 0x50]
cmp byte [eax], 0
je 0x38df99
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x94], eax
movq xmm0, qword [esp + 0x90]
movq qword [esp + 8], xmm0
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00316d30
jmp 0x38df99
mov ecx, dword [edx + 4]
sub ecx, dword [edx]
sar ecx, 2
mov edi, dword [esp + 0x80]
cmp ecx, edi
cmovae ecx, edi
cmp dword [esp + 0x7c], ecx
je 0x38dfbd
mov ecx, dword [esp + 0x9c]
jmp 0x38e0ed
mov eax, dword [esp + 0x40]
cmp byte [eax], 0
je 0x38dfdd
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
movq xmm0, qword [esp + 0x90]
movq qword [esp + 8], xmm0
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00316d30
jmp 0x38dfdd
lea esi, [esp + 0x90]
mov dword [esp], esi
call fcn.0031e4b0
call fcn.002de5d0
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], 0x1035c047
mov dword [esp + 4], 0x10379a88
mov dword [esp], 0x58
call fcn.00316cb0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], 0x1035c047
mov dword [esp + 0x40], 0x10379a88
jmp 0x38e04d
mov dword [esp + 0x10], 0x10306efc
mov dword [esp + 0xc], 0x10306f19
mov dword [esp + 8], 0x601
mov dword [esp + 4], 0x10306f26
mov dword [esp], 0x10306412
call fcn.002eb940
mov dword [esp], esi
mov ecx, edi
call fcn.0038f680
sub esp, 4
jmp 0x38dd57
mov ecx, dword [edx + 4]
sub ecx, dword [edx]
sar ecx, 2
mov edi, dword [esp + 0x80]
cmp ecx, edi
cmovae ecx, edi
cmp dword [esp + 0x7c], ecx
je 0x38df3d
mov ecx, dword [esp + 0x9c]
jmp 0x38de80
mov eax, dword [esp + 0x3c]
cmp byte [eax], 0
je 0x38df5b
mov eax, dword [esp + 0x44]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x94], eax
movq xmm0, qword [esp + 0x90]
movq qword [esp + 8], xmm0
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00316d30
jmp 0x38df5b
lea esi, [esp + 0x90]
mov dword [esp], esi
call fcn.0031e4b0
call fcn.002de5d0
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], 0x1035bfbf
mov dword [esp + 4], 0x10379a88
mov dword [esp], 0x58
call fcn.00316cb0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], 0x1035bfbf
mov dword [esp + 0x50], 0x10379a88
jmp 0x38dd47
lea esi, [esp + 0x90]
mov dword [esp], esi
call fcn.0031e4b0
call fcn.002de5d0
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], 0x1035bff3
mov dword [esp + 4], 0x10379a88
mov dword [esp], 0x58
call fcn.00316cb0
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x40], 0x1035bff3
mov dword [esp + 0x3c], 0x10379a88
jmp 0x38dddc
lea edi, [esp + 0x90]
mov dword [esp], edi
call fcn.0031e4b0
call fcn.002de5d0
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], 0x1035c01c
mov dword [esp + 4], 0x10379a88
mov dword [esp], 0x58
call fcn.00316cb0
mov edi, eax
mov ebx, edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x70]
mov dword [esp + 4], esi
mov esi, eax
mov dword [esp], eax
call fcn.003cb820
sub esp, 8
cmp byte [0x10379a88], 0
je 0x38df7f
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], ebx
movq xmm0, qword [esp + 0x90]
movq qword [esp + 8], xmm0
mov dword [esp + 4], 0x1035c01c
mov dword [esp], 0x10379a88
call fcn.00316d30
jmp 0x38df7f
lea edi, [esp + 0x90]
mov dword [esp], edi
call fcn.0031e4b0
call fcn.002de5d0
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], 0x1035c074
mov dword [esp + 4], 0x10379a88
mov dword [esp], 0x58
call fcn.00316cb0
mov ebx, esi
mov esi, eax
mov edi, edx
mov ecx, dword [ebx + 0x70]
lea eax, [ebx + 0x78]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.003ccbf0
sub esp, 8
cmp byte [0x10379a88], 0
je 0x38df8e
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edi
movq xmm0, qword [esp + 0x90]
movq qword [esp + 8], xmm0
mov dword [esp + 4], 0x1035c074
mov dword [esp], 0x10379a88
call fcn.00316d30
jmp 0x38df8e