Function at 0x10012ee0
Capabilities:
Hash data with md5

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10226940
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1a0
mov eax, dword [0x102beb54]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x120], edi
mov edx, dword [edi + 0x48]
lea ecx, [ebp - 0x44]
add edx, 0x18
mov byte [ebp - 0x119], 0
call fcn.10016e90
mov esi, eax
add edi, 0x30
cmp edi, esi
je 0x10012fac
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
jb 0x10012f7a
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x10012f70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013642
mov eax, edx
push ecx
push eax
call fcn.101e9bb9
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x10012fe0
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10012fd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013642
push edx
push ecx
call fcn.101e9bb9
add esp, 8
cmp dword [edi + 0x14], 0x10
mov eax, edi
mov byte [ebp - 0xb0], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x118], 0x67452301
mov dword [ebp - 0x114], 0xefcdab89
mov dword [ebp - 0x110], 0x98badcfe
mov dword [ebp - 0x10c], 0x10325476
jb 0x1001302d
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0x118]
push eax
call fcn.1001c670
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x118]
call fcn.1001ce40
mov esi, eax
cmp edi, esi
je 0x100130b6
mov ecx, dword [edi + 0x14]
cmp ecx, 0x10
jb 0x10013084
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x1001307a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013642
mov eax, edx
push ecx
push eax
call fcn.101e9bb9
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100130ea
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100130e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013647
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov esi, dword [ebp - 0x120]
mov eax, dword [esi + 0x48]
add eax, 0x18
cmp dword [eax + 0x14], 0x10
jb 0x100130fe
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
mov ecx, eax
mov dword [ebp - 0x124], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10013110
mov eax, dword [edi + 0x14]
sub ecx, edx
mov edx, dword [edi + 0x10]
sub eax, edx
mov dword [ebp - 0x12c], ecx
cmp ecx, eax
ja 0x10013160
cmp dword [edi + 0x14], 0x10
lea eax, [edx + ecx]
mov dword [edi + 0x10], eax
mov eax, edi
jb 0x1001313b
mov eax, dword [edi]
push ecx
push dword [ebp - 0x124]
lea esi, [eax + edx]
push esi
call fcn.10201240
mov eax, dword [ebp - 0x12c]
add esp, 0xc
mov byte [esi + eax], 0
mov esi, dword [ebp - 0x120]
jmp 0x1001317c
push ecx
push dword [ebp - 0x124]
mov byte [ebp - 0x12c], 0
push dword [ebp - 0x12c]
push ecx
mov ecx, edi
call fcn.100065a0
xorps xmm0, xmm0
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x130]
mov edx, dword [edi + 0x10]
and eax, 0xffffff04
or eax, 0x104
mov dword [ebp - 0x12c], 0
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x130], eax
jb 0x100131c3
mov edi, dword [edi]
mov ecx, edi
call fcn.1000c3c0
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x78]
call fcn.1000d080
lea ecx, [ebp - 0x138]
call fcn.1000c7c0
mov dword [ebp - 0x64], vtable.Json::FastWriter.0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
mov byte [ebp - 0x48], 0
push 0
push 0x102a4392
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call fcn.10005eb0
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x64]
call fcn.1000f2d0
push 0x102a59f4
lea ecx, [ebp - 0x60]
call fcn.10005830
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x44]
call fcn.10005a20
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.10017e50
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1001328a
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10013280
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001364c
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0xa8]
mov ecx, esi
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10016b20
test al, al
jne 0x100133a3
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x10013316
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001330c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013651
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov edx, dword [ebp - 0x94]
cmp edx, 0x10
jb 0x10013350
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10013346
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013656
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x10013384
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001337a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001365b
push edx
push ecx
call fcn.101e9bb9
add esp, 8
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.1000e800
jmp 0x10013616
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b0]
mov eax, dword [esi + 0x48]
add eax, 0x90
push eax
call fcn.10005a20
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x198]
call fcn.10005a20
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x180]
call fcn.10005a20
push 0
mov byte [ebp - 4], 0xc
call fcn.1020c978
add esp, 4
lea ecx, [ebp - 0x168]
mov edx, eax
call fcn.10012a40
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x150]
mov eax, dword [esi + 0x48]
add eax, 0x60
push eax
call fcn.10005a20
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.10018ce0
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 0x11a], al
mov byte [ebp - 4], 9
call fcn.10012d80
cmp byte [ebp - 0x11a], 0
jne 0x10013499
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100132df
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001348a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013660
push edx
push ecx
call fcn.101e9bb9
add esp, 8
jmp 0x100132df
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
call fcn.10013800
mov edx, dword [ebp - 0x30]
test al, al
jne 0x100134d7
cmp edx, 0x10
jb 0x100132df
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001348a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001348a
jmp 0x10013651
mov byte [ebp - 0x119], 1
cmp edx, 0x10
jb 0x1001350f
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10013505
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013651
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x10013546
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001353c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013651
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov edx, dword [ebp - 0x94]
cmp edx, 0x10
jb 0x10013580
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10013576
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013651
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100135b4
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100135aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013651
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x64], vtable.Json::FastWriter.0
cmp edx, 0x10
jb 0x100135fd
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100135f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013651
push edx
push ecx
call fcn.101e9bb9
add esp, 8
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
mov dword [ebp - 0x64], vtable.Json::Writer.0
lea ecx, [ebp - 0x78]
call fcn.1000c7c0
mov al, byte [ebp - 0x119]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101e95a5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10204cda
call fcn.10204cda
call fcn.10204cda
call fcn.10204cda
call fcn.10204cda
call fcn.10204cda
call fcn.10204cda
int3