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

Disassembly:
mov eax, 0x22a8
call fcn.004e3510
mov eax, dword [0x514bc0]
xor eax, esp
mov dword [esp + 0x22a4], eax
mov eax, dword [esp + 0x22ac]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x22b0]
cmp word [eax], 0x2b
mov dword [esp + 0x18], ecx
mov byte [esp + 2], 0
jne 0x452821
mov byte [esp + 2], 1
add eax, 2
cmp word [eax], 0
jne 0x45282c
mov eax, str.yyyymmddhhmmss
push ebx
push ebp
push esi
push edi
push 0x80
push eax
lea edx, [esp + 0xbc]
push edx
call fcn.00467570
xor edi, edi
mov byte [esp + 0x11], 0
mov byte [esp + 0x13], 0
mov dword [esp + 0x18], edi
cmp word [esp + 0xb4], di
je 0x45299e
lea eax, [esp + edi*2 + 0xb4]
mov dword [esp + 0x14], eax
movzx eax, word [eax]
cmp ax, 0x7b
je 0x452985
cmp ax, 0x7d
je 0x452981
cmp byte [esp + 0x11], 0
jne 0x45298a
movzx eax, ax
push eax
call sub.USER32.dll_CharUpperW
cmp eax, 0x48
jne 0x4528a6
mov byte [esp + 0x13], 1
jmp 0x45298a
cmp byte [esp + 0x13], 0
je 0x4528c3
cmp eax, 0x4d
jne 0x4528c3
mov edx, dword [esp + 0x14]
mov ecx, 0x49
mov word [edx], cx
jmp 0x45298a
cmp eax, 0x4e
jne 0x45298a
mov eax, dword [esp + 0x22c4]
push eax
call fcn.00467480
mov ecx, dword [esp + 0x14]
movzx edx, word [ecx]
push edx
mov ebx, eax
xor ebp, ebp
call sub.USER32.dll_CharUpperW
cmp eax, 0x4e
jne 0x452906
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
add esi, 2
push eax
inc ebp
call sub.USER32.dll_CharUpperW
cmp eax, 0x4e
je 0x4528f3
cmp ebp, ebx
jae 0x452972
lea edx, [edi + ebp]
lea edx, [esp + edx*2 + 0xb4]
mov eax, edx
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x452920
sub eax, esi
sar eax, 1
lea ecx, [eax + eax + 2]
push ecx
push edx
lea edx, [ebx + edi]
lea eax, [esp + edx*2 + 0xbc]
push eax
call fcn.004e3c60
add esp, 0xc
test ebx, ebx
jbe 0x45296e
mov edi, dword [esp + 0x14]
mov eax, 0x4e
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, ebx
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [esp + 0x18]
cmp ebx, ebp
ja 0x452974
mov ebx, ebp
mov eax, dword [esp + 0x28]
lea edi, [edi + ebx - 1]
mov byte [eax], 1
jmp 0x45298a
cmp ax, 0x7b
sete byte [esp + 0x11]
inc edi
cmp word [esp + edi*2 + 0xb4], 0
mov dword [esp + 0x18], edi
jne 0x452861
xor ebx, ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.004689a0
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x24]
call fcn.00468a40
mov edi, dword [esp + 0x1c]
cmp edi, ebx
jne 0x4529cb
xor esi, esi
jmp 0x4529de
push edi
call fcn.00451a10
push 0x2e
push eax
call fcn.004e46ea
add esp, 8
mov esi, eax
xor edx, edx
mov word [esp + 0x12b4], dx
cmp esi, ebx
jne 0x452a23
push edi
call fcn.00451a10
mov ecx, str..rar
cmp word [eax], bx
je 0x452a01
mov ecx, 0x4fdab8
lea edx, [esp + 0x12b4]
jmp 0x452a10
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x452a10
jmp 0x452a3b
push 0x800
push esi
lea eax, [esp + 0x12bc]
push eax
call fcn.00467570
xor ecx, ecx
mov word [esi], cx
mov eax, dword [esp + 0x48]
mov edi, 6
cmp eax, ebx
je 0x452a4b
lea edi, [eax - 1]
mov esi, dword [esp + 0x4c]
sub esi, edi
jns 0x452a76
cmp esi, 0xfffffffc
jg 0x452a74
mov edx, dword [esp + 0x2c]
dec edx
push edx
call fcn.004689f0
xor ecx, ecx
test al, al
setne cl
add ecx, 0x16d
add esi, ecx
jmp 0x452a76
xor esi, esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
sub esi, edx
cmp esi, 4
lea ebx, [eax + 1]
jl 0x452a9d
inc ebx
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x7c]
push str._04d
push ecx
call fcn.004e7678
mov edx, dword [esp + 0x3c]
push edx
lea eax, [esp + 0x8e]
push str._02d
push eax
call fcn.004e7678
mov ecx, dword [esp + 0x4c]
push ecx
lea edx, [esp + 0xa0]
push str._02d
push edx
call fcn.004e7678
mov eax, dword [esp + 0x5c]
push eax
lea ecx, [esp + 0xb2]
push str._02d
push ecx
call fcn.004e7678
mov edx, dword [esp + 0x6c]
push edx
lea eax, [esp + 0xc4]
push str._02d
push eax
call fcn.004e7678
mov ecx, dword [esp + 0x7c]
push ecx
lea edx, [esp + 0xd6]
push str._02d
push edx
call fcn.004e7678
add esp, 0x48
push ebx
lea eax, [esp + 0xa0]
push str._02d
push eax
call fcn.004e7678
inc edi
push edi
lea ecx, [esp + 0xb2]
push 0x4ff134
push ecx
call fcn.004e7678
mov edx, dword [esp + 0x64]
inc edx
push edx
lea eax, [esp + 0xc4]
push str._03d
push eax
call fcn.004e7678
mov ecx, dword [esp + 0x22e8]
push ecx
lea edx, [esp + 0xd6]
push str._05d
push edx
call fcn.004e7678
xor eax, eax
add esp, 0x30
xor bl, bl
xor esi, esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
cmp word [esp + 0xb4], ax
je 0x452c1b
lea eax, [esp + 0xb4]
movzx eax, word [eax]
cmp ax, 0x7b
je 0x452c05
cmp ax, 0x7d
je 0x452c01
test bl, bl
jne 0x452c08
movzx eax, ax
push eax
call sub.USER32.dll_CharUpperW
push eax
push str.YMDHISWAEN
call fcn.004e66b5
add esp, 8
test eax, eax
je 0x452c08
sub eax, str.YMDHISWAEN
sar eax, 1
inc dword [esp + eax*4 + 0x50]
lea eax, [esp + eax*4 + 0x50]
jmp 0x452c08
cmp ax, 0x7b
sete bl
inc esi
cmp word [esp + esi*2 + 0xb4], 0
lea eax, [esp + esi*2 + 0xb4]
jne 0x452bc2
xor ecx, ecx
xor ebx, ebx
mov word [esp + 0x1b4], cx
mov byte [esp + 0x11], cl
cmp word [esp + 0xb4], cx
je 0x452dc8
lea edx, [esp + 0xb8]
lea eax, [esp + 0xb6]
lea edi, [esp + 0xb4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
cmp ebx, 0x7f
jae 0x452dc8
movzx eax, word [edi]
cmp ax, 0x7b
je 0x452daa
cmp ax, 0x7d
je 0x452da6
movzx ecx, ax
push ecx
call sub.USER32.dll_CharUpperW
push eax
push str.YMDHISWAEN
call fcn.004e66b5
add esp, 8
test eax, eax
je 0x452d7b
cmp byte [esp + 0x11], 0
jne 0x452d7b
sub eax, str.YMDHISWAEN
sar eax, 1
mov ecx, eax
lea esi, [ecx + ecx*2]
add esi, esi
lea eax, [esp + esi + 0x78]
lea ebp, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x452cb5
mov edx, dword [esp + ecx*4 + 0x50]
sub eax, ebp
sub eax, edx
dec edx
mov ebp, eax
mov dword [esp + ecx*4 + 0x50], edx
cmp ecx, 1
jne 0x452d42
mov edx, dword [esp + 0x18]
movzx eax, word [edx]
push eax
call sub.USER32.dll_CharUpperW
cmp eax, 0x4d
jne 0x452d42
mov ecx, dword [esp + 0x14]
movzx edx, word [ecx]
push edx
call sub.USER32.dll_CharUpperW
cmp eax, 0x4d
jne 0x452d42
mov ecx, dword [esp + 0x30]
mov eax, 0x80
sub eax, ebx
push eax
dec ecx
push ecx
call fcn.004689e0
push eax
lea edx, [esp + ebx*2 + 0x1bc]
push edx
call fcn.00467570
lea eax, [esp + 0x1b4]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x452d20
sub eax, edx
sar eax, 1
mov ebx, eax
mov eax, 4
add dword [esp + 0x18], eax
add dword [esp + 0x14], eax
add edi, eax
jmp 0x452daf
test ebp, ebp
jge 0x452d5e
mov ax, word [edi]
mov word [esp + ebx*2 + 0x1b4], ax
inc ebx
xor eax, eax
mov word [esp + ebx*2 + 0x1b4], ax
jmp 0x452daf
add esi, ebp
movsx cx, byte [esp + esi + 0x78]
mov word [esp + ebx*2 + 0x1b4], cx
inc ebx
xor eax, eax
mov word [esp + ebx*2 + 0x1b4], ax
jmp 0x452daf
movzx eax, word [edi]
mov word [esp + ebx*2 + 0x1b4], ax
cmp ax, 0x3a
jne 0x452d99
mov edx, 0x5f
mov word [esp + ebx*2 + 0x1b4], dx
inc ebx
xor eax, eax
mov word [esp + ebx*2 + 0x1b4], ax
jmp 0x452daf
cmp ax, 0x7b
sete byte [esp + 0x11]
mov eax, 2
add dword [esp + 0x18], eax
add dword [esp + 0x14], eax
add edi, eax
cmp word [edi], 0
jne 0x452c56
cmp byte [esp + 0x12], 0
je 0x452ec1
mov edi, dword [esp + 0x1c]
push edi
call fcn.00451a10
sub eax, edi
sar eax, 1
cmp eax, 0x7ff
jbe 0x452def
mov esi, 0x7ff
jmp 0x452dfb
push edi
call fcn.00451a10
mov esi, eax
sub esi, edi
sar esi, 1
push esi
lea ecx, [esp + 0x2b8]
push edi
push ecx
call fcn.004e7058
add esp, 0xc
xor edx, edx
lea eax, [esp + 0x2b4]
mov word [esp + esi*2 + 0x2b4], dx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x452e21
sub eax, edx
sar eax, 1
je 0x452e67
cmp word [esp + eax*2 + 0x2b2], 0x5c
je 0x452e67
inc eax
cmp eax, 0x800
jae 0x452e67
lea edi, [esp + 0x2b4]
add edi, 0xfffffffe
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x452e50
mov eax, dword [0x4fe3ec]
mov dword [edi], eax
mov edi, dword [esp + 0x1c]
push 0x800
lea ecx, [esp + 0x1b8]
push ecx
lea edx, [esp + 0x2bc]
push edx
call fcn.004675f0
push 0x800
push edi
call fcn.00451a10
push eax
lea eax, [esp + 0x2bc]
push eax
call fcn.004675f0
lea eax, [esp + 0x2b4]
mov edx, edi
mov ecx, eax
sub edx, ecx
jmp 0x452eb0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x452eb0
jmp 0x452f00
lea eax, [esp + 0x1b4]
mov edx, eax
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x452ed0
mov edi, dword [esp + 0x1c]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x452ee4
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x12b4]
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x452f10
mov edi, dword [esp + 0x1c]
sub eax, edx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x452f24
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x22b4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004e34f4
add esp, 0x22a8
ret 0xc