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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4114
call fcn.004cd440
mov edx, dword [ebp + 0xc]
push ebx
mov ebx, dword [0x4fd228]
push esi
push edi
mov dword [esp + 0x28], ebx
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x45c5f3
sub edx, ecx
sar edx, 1
cmp edx, 0x7d0
jbe 0x45c622
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.004b55f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
mov word [esp + 0x70], ax
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test cx, cx
jne 0x45c672
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
mov dword [esp + 0x24], 0x400
xor esi, esi
mov dword [esp + 0x1c], eax
xor edx, edx
mov dword [esp + 0x14], esi
mov byte [esp + 0x13], al
mov byte [esp + 0x10], al
mov byte [esp + 0x12], al
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x11], al
jmp 0x45c753
cmp cx, 0x20
je 0x45c67e
cmp cx, 9
jne 0x45c687
movzx ecx, word [eax + 2]
add eax, 2
jmp 0x45c672
push 0xff
push eax
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor eax, eax
lea esi, [esp + 0x7c]
mov word [esp + 0x27a], ax
add esp, 0xc
mov eax, dword [esp + 0x70]
add eax, 0xffffffd0
cmp ax, 9
ja 0x45c7cc
mov ax, word [esp + 0x70]
test ax, ax
je 0x45c705
movzx edi, ax
nop word [eax + eax]
mov ecx, 0x4e6614
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x45c7a8
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x45c6e0
movzx eax, word [esi + 2]
add esi, 2
mov edi, eax
test ax, ax
jne 0x45c6d0
xor esi, esi
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x74]
call fcn.004b0a80
xor eax, eax
mov dword [esp + 0x28], 0x400
xor edx, edx
mov dword [esp + 0x18], 0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x13], al
mov byte [esp + 0x10], al
mov byte [esp + 0x12], al
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x11], al
test esi, esi
jne 0x45c807
xor esi, esi
mov edx, dword [ebp + 0xc]
mov edi, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
movzx eax, word [edx]
test ax, ax
jne 0x45c932
xor ecx, ecx
mov byte [esp + 0x11], 1
xor edx, edx
mov eax, esi
cmp byte [esp + 0x12], cl
setne dl
or eax, 2
inc edx
cmp byte [esp + 0x13], cl
mov dword [esp + 0x18], edx
cmovne eax, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
or eax, 2
cmp byte [esp + 0x10], cl
cmovne eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
jmp 0x45cd56
test esi, esi
je 0x45c707
xor eax, eax
mov word [esi], ax
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x45c7b5
cmp eax, 9
jne 0x45c707
jmp 0x45c7b5
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
mov dword [esp + 0x24], 0x400
xor edx, edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
mov byte [esp + 0x13], al
mov byte [esp + 0x10], al
mov byte [esp + 0x12], al
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x11], al
cmp word [esi], 0
je 0x45c751
mov dword [esp + 0x3c], esi
mov ebx, esi
test esi, esi
je 0x45c861
movzx eax, word [esi]
test ax, ax
je 0x45c861
mov edi, eax
nop word [eax + eax]
mov ecx, 0x4e6614
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x45c878
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x45c840
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x45c830
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45c866
sub ecx, edx
sar ecx, 1
lea ebx, [esi + ecx*2]
movzx edi, word [ebx]
xor eax, eax
mov word [ebx], ax
add esi, 2
mov eax, dword [esp + 0x3c]
movzx eax, word [eax]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towupper]
movzx eax, ax
add esp, 4
add eax, 0xffffffbc
cmp eax, 0x10
ja case.0x45c8a6.69
movzx eax, byte [eax + 0x45cec0]
jmp dword [eax*4 + 0x45ceac]
mov ecx, esi
mov byte [esp + 0x13], 1
call fcn.004054a0
or dword [esp + 0x14], eax
jmp case.0x45c8a6.69
mov ecx, esi
mov byte [esp + 0x10], 1
call fcn.004054a0
or dword [esp + 0x1c], eax
jmp case.0x45c8a6.69
mov byte [esp + 0x12], 1
jmp case.0x45c8a6.69
push 0x4ee904
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45c8f5
mov dword [esp + 0x24], 0x800
jmp case.0x45c8a6.69
mov ecx, esi
call fcn.004054a0
mov dword [esp + 0x24], eax
mov word [ebx], di
mov esi, ebx
mov ecx, edi
cmp cx, 0x20
je 0x45c913
cmp cx, 9
jne 0x45c91c
movzx ecx, word [esi + 2]
add esi, 2
jmp 0x45c907
test cx, cx
jne 0x45c811
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x45c753
mov esi, edx
cmp ax, 0x20
je 0x45c940
cmp ax, 9
jne 0x45c949
movzx eax, word [esi + 2]
add esi, 2
jmp 0x45c934
push str.YWeek
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45ca0c
movzx ecx, word [esp + 0x2c]
test cl, 3
jne 0x45c98a
xor edx, edx
mov eax, ecx
mov esi, 0x64
div esi
test edx, edx
jne 0x45c986
mov eax, ecx
mov esi, 0x190
div esi
test edx, edx
jne 0x45c98a
mov dl, 1
jmp 0x45c98c
xor dl, dl
movzx esi, word [esp + 0x32]
movzx eax, word [esp + 0x2e]
test dl, dl
je 0x45c9c4
movaps xmm0, xmmword [0x4f3000]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f3040]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f3060]
movups xmmword [esp + 0x60], xmm0
mov edx, dword [esp + eax*4 + 0x3c]
jmp 0x45c9ec
movaps xmm0, xmmword [0x4f2ff0]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f3030]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f3050]
movups xmmword [esp + 0x60], xmm0
mov edx, dword [esp + eax*4 + 0x3c]
movzx eax, word [esp + 0x30]
push eax
lea eax, [esi + edx]
mov edx, ecx
push eax
lea ecx, [esp + 0x278]
call fcn.004b0820
add esp, 8
jmp 0x45ce8a
push str.YDay
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x45cdb4
push str.YDay0
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x45cdb4
push str.WDay
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45ca6f
movzx eax, word [esp + 0x30]
mov ecx, dword [esp + 0x28]
inc eax
push 0x18
push 0
push eax
call fcn.00401470
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.ShortDate
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45ca9f
mov eax, dword [esp + 0x14]
xor ecx, ecx
and eax, 0xfffffff5
mov dword [esp + 0x18], 2
or eax, 1
mov dword [esp + 0x14], eax
jmp 0x45cd6d
push str.LongDate
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45cacf
mov eax, dword [esp + 0x14]
xor ecx, ecx
and eax, 0xfffffff6
mov dword [esp + 0x18], 2
or eax, 2
mov dword [esp + 0x14], eax
jmp 0x45cd6d
push str.YearMonth
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45caff
mov eax, dword [esp + 0x14]
xor ecx, ecx
and eax, 0xfffffffc
mov dword [esp + 0x18], 2
or eax, 8
mov dword [esp + 0x14], eax
jmp 0x45cd6d
push str.Time
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45cbdd
mov eax, dword [esp + 0x1c]
xor ecx, ecx
or eax, 2
mov dword [esp + 0x18], 1
cmp byte [esp + 0x10], cl
cmovne eax, edi
mov dword [esp + 0x1c], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
lea edx, [esp + 0x270]
push 0xfaa
push edx
push ecx
lea ecx, [esp + 0x38]
push ecx
push eax
push dword [esp + 0x38]
call edi
test eax, eax
jne 0x45cb5e
mov word [esp + 0x270], ax
cmp dword [esp + 0x20], 0
mov dl, byte [esp + 0x11]
jne 0x45cb71
test dl, dl
je 0x45ce8a
lea esi, [esp + 0x270]
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x45cb80
sub esi, ecx
lea eax, [esp + 0x270]
sar esi, 1
lea eax, [eax + esi*2]
test dl, dl
je 0x45cbb1
mov ecx, 0x20
mov dword [esp + 0x20], 0
mov word [eax], cx
add eax, 2
inc esi
mov ecx, 0xfaa
sub ecx, esi
cmp dword [esp + 0x18], 2
push ecx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
jne 0x45cd95
push dword [esp + 0x2c]
push dword [esp + 0x38]
call edi
jmp 0x45cd9f
mov eax, dword [ebp + 0xc]
lea esi, [esp + 0x21c8]
xor bh, bh
xor bl, bl
movzx eax, word [eax]
test ax, ax
je 0x45cd3c
mov edx, dword [sym.imp.USER32.dll_IsCharAlphaNumericW]
mov ecx, eax
mov edi, dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov eax, 0x27
cmp cx, ax
jne 0x45cc5f
test bl, bl
je 0x45cc1c
xor bl, bl
mov bh, 1
jmp 0x45cd16
test bh, bh
je 0x45cc4f
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
test ax, ax
je 0x45cc49
push eax
call edx
test eax, eax
mov eax, dword [ebp + 0xc]
jne 0x45cc4c
cmp word [eax + 2], 0x27
je 0x45cc4c
test bh, bh
mov bl, 1
sete bh
jmp 0x45cd10
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
mov word [esi], ax
add esi, 2
test bh, bh
sete bh
jmp 0x45cd10
test bh, bh
je 0x45cc6e
mov word [esi], cx
add esi, 2
jmp 0x45cd16
push ecx
call edx
test eax, eax
je 0x45ccf3
test bl, bl
je 0x45cc86
mov eax, 0x27
mov word [esi], ax
add esi, 2
xor bl, bl
mov eax, dword [ebp + 0xc]
movzx eax, word [eax]
push eax
push str.dMyg
call edi
add esp, 8
test eax, eax
je 0x45ccb2
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x45ccad
mov dword [esp + 0x18], 2
jmp 0x45cd04
cmp ecx, 1
jmp 0x45ccdc
mov eax, dword [ebp + 0xc]
movzx eax, word [eax]
push eax
push str.hHmst
call edi
add esp, 8
test eax, eax
je 0x45cd04
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x45ccd9
mov dword [esp + 0x18], 1
jmp 0x45cd04
cmp ecx, 2
jne 0x45cd04
cmp dword [esp + 0x20], 0
jne 0x45cd04
xor eax, eax
mov word [esi], ax
add esi, 2
mov dword [esp + 0x20], esi
jmp 0x45cd04
test bl, bl
jne 0x45cd04
mov eax, 0x27
mov bl, 1
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
mov word [esi], ax
add esi, 2
mov edx, dword [sym.imp.USER32.dll_IsCharAlphaNumericW]
mov eax, dword [ebp + 0xc]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, word [eax]
mov ecx, eax
test ax, ax
jne 0x45cc05
test bl, bl
je 0x45cd3c
mov eax, 0x27
mov word [esi], ax
add esi, 2
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea ecx, [esp + 0x21c8]
mov edx, dword [esp + 0x18]
xor eax, eax
mov word [esi], ax
mov eax, dword [esp + 0x1c]
test edx, edx
jne 0x45cd64
mov dword [esp + 0x18], 2
jmp 0x45cd6d
cmp edx, 2
jne 0x45cb32
push 0xfaa
lea eax, [esp + 0x274]
push eax
push ecx
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x24]
push dword [esp + 0x38]
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
jmp 0x45cb52
push dword [esp + 0x24]
push dword [esp + 0x38]
call ebx
test eax, eax
jne 0x45ce8a
mov word [esp + esi*2 + 0x270], ax
jmp 0x45ce8a
movzx ecx, word [esp + 0x2c]
test cl, 3
jne 0x45cdde
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
test edx, edx
jne 0x45cdda
mov eax, ecx
mov ecx, 0x190
div ecx
test edx, edx
jne 0x45cdde
mov cl, 1
jmp 0x45cde0
xor cl, cl
movzx edx, word [esp + 0x32]
movzx eax, word [esp + 0x2e]
test cl, cl
je 0x45ce18
movaps xmm0, xmmword [0x4f3000]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f3040]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f3060]
movups xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + eax*4 + 0x3c]
jmp 0x45ce40
movaps xmm0, xmmword [0x4f2ff0]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f3030]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f3050]
movups xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + eax*4 + 0x3c]
push str.YDay
push esi
lea edi, [edx + ecx]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45ce74
mov ecx, dword [esp + 0x28]
mov eax, edi
push 0x18
cdq
push edx
push eax
call fcn.00401470
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push edi
lea eax, [esp + 0x274]
push str._03d
push eax
call fcn.00406810
add esp, 0xc
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x270]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004b55f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8