Function at 0x10022fe0
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
push esi
lea ecx, [eax + 0x591]
mov ebx, eax
push edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
cmp eax, ecx
ja 0x1002333c
mov edi, dword [esp + 0x3c]
jmp 0x10023010
cmp ebx, 0x4016
ja 0x100231ad
je 0x10023197
cmp ebx, 0x3ef9
ja 0x1002313a
je 0x10023125
cmp ebx, 0x3e69
ja 0x100230f1
je 0x100230e3
cmp ebx, 0x112e
je 0x10023068
cmp ebx, 0x3e0a
jne 0x1002332b
call fcn.10019510
fstp qword [esp + 0x60]
jmp 0x1002332b
mov ecx, 0x39e4
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x39e4
je 0x10023084
sub eax, 0x1a
je 0x1002333c
jmp 0x1002308c
mov dword [esp + 0x34], 0x1003b870
add ecx, 0x1a
cmp ecx, 0x39fe
jbe 0x10023070
mov eax, dword [0x10040aec]
mov esi, dword [0x10040af4]
mov edx, dword [0x10040af0]
mov dword [esp + 0x44], eax
mov eax, dword [0x10040af8]
mov dword [esp + 0x48], edx
mov ecx, dword [0x10040afc]
mov dword [esp + 0x4c], esi
lea edx, [esp + 0x78]
mov dword [esp + 0x50], eax
push edx
lea eax, [esp + 0x5c]
mov dword [esp + 0x58], ecx
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.100271a0
add esp, 0xc
jmp 0x1002332b
call fcn.10019510
fstp qword [esp + 0x58]
jmp 0x1002332b
cmp ebx, 0x3ec8
jne 0x1002332b
fld qword [esp + 0x58]
sub esp, 8
fsub qword [esp + 0x68]
fstp qword [esp]
push str.time__g_n
call fcn.10028604
mov eax, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x1002332b
lea ecx, [esp + 0x68]
push ecx
mov byte [esp + 0x37], 1
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
jmp 0x1002332b
mov eax, ebx
sub eax, 0x3f27
je 0x1002333c
sub eax, 0x31
je 0x1002316d
sub eax, 0x5f
jne 0x1002332b
push 0x34
push eax
lea edx, [esp + 0x94]
push edx
call fcn.10030930
add esp, 0xc
jmp 0x1002332b
push 0x20
call fcn.10027d81
mov edi, eax
add esp, 4
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
jmp 0x1002332b
movzx eax, word [esp + 0x70]
push 0xa
push edi
push eax
call fcn.10037109
add esp, 0xc
jmp 0x1002332b
cmp ebx, 0x41f1
ja 0x100232ef
je 0x10023277
cmp ebx, 0x4133
ja 0x10023256
je 0x10023221
mov eax, ebx
sub eax, 0x4075
je 0x10023097
sub eax, 0x5f
jne 0x1002332b
lea edx, [edi - 1]
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x100231e6
mov cx, word [0x1004172c]
mov eax, edi
mov word [edx], cx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10023200
sub eax, edx
movzx edx, word [esp + 0x72]
push 0xa
add eax, edi
push eax
push edx
call fcn.10037109
add esp, 0xc
jmp 0x1002332b
lea edx, [esp + 0x78]
push edx
push 0x100
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [esp + 0x38], eax
lea esi, [edi - 1]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x10023240
mov ax, word [0x1004172c]
mov word [esi], ax
jmp 0x1002332b
cmp ebx, 0x4192
jne 0x1002332b
cmp dword [esp + 0x38], 0
jne 0x1002332b
mov byte [esp + 0x33], 0
jmp 0x1002332b
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10023280
movzx ecx, word [esp + 0x74]
sub eax, edx
push 0xa
add eax, edi
push eax
push ecx
call fcn.10037109
add esp, 0xc
cmp byte [esp + 0x33], 0
je 0x1002332b
mov esi, 0x62d
lea esp, [esp]
mov eax, esi
sub eax, 0x62d
je 0x100232cb
sub eax, 0x5d
jne 0x100232de
mov edx, dword [esp + 0x38]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100232de
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x8c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
add esi, 0x5d
cmp esi, 0x68a
jbe 0x100232b0
mov ebx, dword [esp + 0x40]
jmp 0x1002332b
mov eax, ebx
sub eax, 0x4250
je 0x10023327
sub eax, 0x5f
je 0x1002333c
sub eax, 0x316e
jne 0x1002332b
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
push edx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push esi
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.1000db60
mov edx, dword [ebp + 0x18]
add esp, 0x10
mov dword [edx], eax
jmp 0x1002332b
mov dword [esp + 0x34], edi
add ebx, 0x5f
mov dword [esp + 0x40], ebx
cmp ebx, dword [esp + 0x3c]
jbe 0x10023010
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret