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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4114
call fcn.004cc6a0
mov edx, dword [ebp + 0xc]
push ebx
mov ebx, dword [0x4fc2a8]
push esi
push edi
mov dword [esp + 0x28], ebx
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x45b823
sub edx, ecx
sar edx, 1
cmp edx, 0x7d0
jbe 0x45b852
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.004b4bf0
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 0x45b8a2
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 + 0x18], 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 + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x11], al
jmp 0x45b983
cmp cx, 0x20
je 0x45b8ae
cmp cx, 9
jne 0x45b8b7
movzx ecx, word [eax + 2]
add eax, 2
jmp 0x45b8a2
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 0x45ba00
mov ax, word [esp + 0x70]
test ax, ax
je 0x45b935
movzx edi, ax
nop word [eax + eax]
mov ecx, 0x4e5614
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x45b9dc
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x45b910
movzx eax, word [esi + 2]
add esi, 2
mov edi, eax
test ax, ax
jne 0x45b900
xor esi, esi
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x74]
call fcn.004b00b0
xor eax, eax
mov dword [esp + 0x28], 0x400
xor edx, edx
mov dword [esp + 0x18], 0
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x13], al
mov byte [esp + 0x10], al
mov byte [esp + 0x12], al
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x11], al
test esi, esi
jne 0x45ba3b
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov edx, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
movzx eax, word [ecx]
test ax, ax
jne 0x45bb62
xor eax, eax
mov byte [esp + 0x11], 1
xor ecx, ecx
cmp byte [esp + 0x12], al
setne al
inc eax
mov dword [esp + 0x1c], eax
mov eax, esi
or eax, 2
cmp byte [esp + 0x13], cl
cmovne eax, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
or eax, 2
cmp byte [esp + 0x10], cl
cmovne eax, edx
mov dword [esp + 0x18], eax
jmp 0x45bee3
test esi, esi
je 0x45b937
xor eax, eax
mov word [esi], ax
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x45b9e9
cmp eax, 9
jne 0x45b937
jmp 0x45b9e9
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 + 0x18], eax
mov byte [esp + 0x13], al
mov byte [esp + 0x10], al
mov byte [esp + 0x12], al
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x11], al
cmp word [esi], 0
je 0x45b981
mov dword [esp + 0x3c], esi
mov ebx, esi
test esi, esi
je 0x45ba91
movzx eax, word [esi]
test ax, ax
je 0x45ba91
mov edi, eax
nop dword [eax]
mov ecx, 0x4e5614
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x45baa8
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x45ba70
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x45ba60
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45ba96
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.0x45bad6.69
movzx eax, byte [eax + 0x45c0e0]
jmp dword [eax*4 + 0x45c0cc]
mov ecx, esi
mov byte [esp + 0x13], 1
call fcn.004051f0
or dword [esp + 0x14], eax
jmp case.0x45bad6.69
mov ecx, esi
mov byte [esp + 0x10], 1
call fcn.004051f0
or dword [esp + 0x18], eax
jmp case.0x45bad6.69
mov byte [esp + 0x12], 1
jmp case.0x45bad6.69
push 0x4ed8cc
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45bb25
mov dword [esp + 0x24], 0x800
jmp case.0x45bad6.69
mov ecx, esi
call fcn.004051f0
mov dword [esp + 0x24], eax
mov word [ebx], di
mov esi, ebx
mov ecx, edi
cmp cx, 0x20
je 0x45bb43
cmp cx, 9
jne 0x45bb4c
movzx ecx, word [esi + 2]
add esi, 2
jmp 0x45bb37
test cx, cx
jne 0x45ba45
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x45b983
mov esi, ecx
cmp ax, 0x20
je 0x45bb70
cmp ax, 9
jne 0x45bb79
movzx eax, word [esi + 2]
add esi, 2
jmp 0x45bb64
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 0x45bc3b
movzx ebx, word [esp + 0x2c]
test bl, 3
jne 0x45bbba
xor edx, edx
mov eax, ebx
mov ecx, 0x64
div ecx
test edx, edx
jne 0x45bbb6
mov eax, ebx
mov ecx, 0x190
div ecx
test edx, edx
jne 0x45bbba
mov cl, 1
jmp 0x45bbbc
xor cl, cl
movzx edx, word [esp + 0x32]
movzx eax, word [esp + 0x2e]
test cl, cl
je 0x45bbf4
movaps xmm0, xmmword [0x4f2040]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f2090]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f20b0]
movups xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + eax*4 + 0x3c]
jmp 0x45bc1c
movaps xmm0, xmmword [0x4f2030]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f2080]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f20a0]
movups xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + eax*4 + 0x3c]
movzx eax, word [esp + 0x30]
add ecx, edx
push eax
push ecx
mov edx, ebx
lea ecx, [esp + 0x278]
call fcn.004afe50
add esp, 8
jmp 0x45c0aa
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 0x45bfd5
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 0x45bfd5
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 0x45bc9e
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 0x45bcce
mov eax, dword [esp + 0x14]
xor ecx, ecx
and eax, 0xfffffff5
mov dword [esp + 0x1c], 2
or eax, 1
mov dword [esp + 0x14], eax
jmp 0x45befa
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 0x45bcfe
mov eax, dword [esp + 0x14]
xor ecx, ecx
and eax, 0xfffffff6
mov dword [esp + 0x1c], 2
or eax, 2
mov dword [esp + 0x14], eax
jmp 0x45befa
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 0x45bd2e
mov eax, dword [esp + 0x14]
xor ecx, ecx
and eax, 0xfffffffc
mov dword [esp + 0x1c], 2
or eax, 8
mov dword [esp + 0x14], eax
jmp 0x45befa
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 0x45bd66
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov esi, 1
mov dword [esp + 0x1c], esi
cmp byte [esp + 0x10], cl
jne 0x45bf1d
or eax, 2
mov dword [esp + 0x18], eax
jmp 0x45bf1d
mov eax, dword [ebp + 0xc]
lea esi, [esp + 0x21c8]
xor bh, bh
xor bl, bl
movzx eax, word [eax]
test ax, ax
je 0x45bed1
mov edx, dword [sym.imp.USER32.dll_IsCharAlphaNumericW]
mov ecx, eax
mov edi, dword [sym.imp.VCRUNTIME140.dll_wcschr]
nop
mov eax, 0x27
cmp cx, ax
jne 0x45bdea
test bl, bl
je 0x45bda7
xor bl, bl
mov bh, 1
jmp 0x45bea5
test bh, bh
je 0x45bdda
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
test ax, ax
je 0x45bdd4
push eax
call edx
test eax, eax
mov eax, dword [ebp + 0xc]
jne 0x45bdd7
cmp word [eax + 2], 0x27
je 0x45bdd7
test bh, bh
mov bl, 1
sete bh
jmp 0x45be9f
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
mov word [esi], ax
add esi, 2
test bh, bh
sete bh
jmp 0x45be9f
test bh, bh
je 0x45bdf9
mov word [esi], cx
add esi, 2
jmp 0x45bea5
push ecx
call edx
test eax, eax
je 0x45be82
test bl, bl
je 0x45be15
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 0x45be41
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x45be3c
mov dword [esp + 0x1c], 2
jmp 0x45be93
cmp ecx, 1
jmp 0x45be6b
mov eax, dword [ebp + 0xc]
movzx eax, word [eax]
push eax
push str.hHmst
call edi
add esp, 8
test eax, eax
je 0x45be93
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x45be68
mov dword [esp + 0x1c], 1
jmp 0x45be93
cmp ecx, 2
jne 0x45be93
cmp dword [esp + 0x20], 0
jne 0x45be93
xor eax, eax
mov word [esi], ax
add esi, 2
mov dword [esp + 0x20], esi
jmp 0x45be93
test bl, bl
jne 0x45be93
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 0x45bd90
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
test bl, bl
je 0x45bed1
mov eax, 0x27
mov word [esi], ax
add esi, 2
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea ecx, [esp + 0x21c8]
xor eax, eax
mov word [esi], ax
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x45bef5
mov dword [esp + 0x1c], 2
jmp 0x45befa
cmp esi, 2
jne 0x45bf19
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
jmp 0x45bf37
mov eax, dword [esp + 0x18]
push 0xfaa
lea edx, [esp + 0x274]
push edx
push ecx
lea ecx, [esp + 0x38]
push ecx
push eax
push dword [esp + 0x38]
call edi
test eax, eax
jne 0x45bf43
mov word [esp + 0x270], ax
cmp dword [esp + 0x20], 0
mov dl, byte [esp + 0x11]
jne 0x45bf56
test dl, dl
je 0x45c0aa
lea esi, [esp + 0x270]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x45bf60
sub esi, ecx
lea eax, [esp + 0x270]
sar esi, 1
lea eax, [eax + esi*2]
test dl, dl
je 0x45bf91
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 + 0x1c], 2
push ecx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
jne 0x45bfb6
push dword [esp + 0x28]
push dword [esp + 0x38]
call edi
jmp 0x45bfc0
push dword [esp + 0x24]
push dword [esp + 0x38]
call ebx
test eax, eax
jne 0x45c0aa
mov word [esp + esi*2 + 0x270], ax
jmp 0x45c0aa
movzx ecx, word [esp + 0x2c]
test cl, 3
jne 0x45bfff
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
test edx, edx
jne 0x45bffb
mov eax, ecx
mov ecx, 0x190
div ecx
test edx, edx
jne 0x45bfff
mov cl, 1
jmp 0x45c001
xor cl, cl
movzx edx, word [esp + 0x32]
movzx eax, word [esp + 0x2e]
test cl, cl
je 0x45c039
movaps xmm0, xmmword [0x4f2040]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f2090]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f20b0]
movups xmmword [esp + 0x60], xmm0
mov edi, dword [esp + eax*4 + 0x3c]
jmp 0x45c061
movaps xmm0, xmmword [0x4f2030]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4f2080]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4f20a0]
movups xmmword [esp + 0x60], xmm0
mov edi, dword [esp + eax*4 + 0x3c]
push str.YDay
push esi
add edi, edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x45c094
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.00406560
add esp, 0xc
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x270]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004b4bf0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8