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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4114
call fcn.004aea90
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [0x4ddbb0]
push esi
push edi
mov dword [esp + 0x2c], ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43e3e3
sub ecx, edx
sar ecx, 1
cmp ecx, 0x7d0
jbe 0x43e412
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
xor esi, esi
mov word [esp + 0x70], ax
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test cx, cx
je 0x43e4e3
nop word [eax + eax]
cmp cx, 0x20
je 0x43e43c
cmp cx, 9
jne 0x43e445
movzx ecx, word [eax + 2]
add eax, 2
jmp 0x43e430
push 0xff
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004a1eb4
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 0x43e4e3
mov ax, word [esp + 0x70]
test ax, ax
je 0x43e4b1
movzx edi, ax
mov ecx, 0x4ca844
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x43e4c7
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x43e490
movzx eax, word [esi + 2]
add esi, 2
mov edi, eax
test ax, ax
jne 0x43e480
xor esi, esi
push 0
lea edx, [esp + 0x34]
lea ecx, [esp + 0x74]
call fcn.0047c470
add esp, 4
jmp 0x43e4ee
test esi, esi
je 0x43e4b3
xor eax, eax
mov word [esi], ax
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x43e4d0
cmp eax, 9
jne 0x43e4b3
jmp 0x43e4d0
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor dh, dh
mov dword [esp + 0x24], 0x400
xor dl, dl
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x1b], dh
mov byte [esp + 0x12], dh
mov byte [esp + 0x11], dl
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0
mov byte [esp + 0x13], dl
test esi, esi
je 0x43e649
cmp word [esi], 0
je 0x43e649
nop dword [eax]
mov ebx, esi
test esi, esi
je 0x43e581
movzx eax, word [esi]
test ax, ax
je 0x43e581
mov edi, eax
mov ecx, 0x4ca844
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x43e598
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x43e560
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x43e550
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43e586
sub ecx, edx
sar ecx, 1
lea ebx, [esi + ecx*2]
movzx edi, word [ebx]
xor eax, eax
add esi, 2
mov word [ebx], ax
movzx eax, word [esi - 2]
push eax
call fcn.004a1397
movzx eax, ax
add esp, 4
add eax, 0xffffffbc
cmp eax, 0x10
ja case.0x43e5c2.69
movzx eax, byte [eax + 0x43ecb0]
jmp dword [eax*4 + 0x43ec9c]
mov ecx, esi
mov byte [esp + 0x1b], 1
call fcn.004151f0
or dword [esp + 0x14], eax
jmp case.0x43e5c2.69
mov ecx, esi
mov byte [esp + 0x12], 1
call fcn.004151f0
or dword [esp + 0x20], eax
jmp case.0x43e5c2.69
mov dl, 1
mov byte [esp + 0x11], dl
jmp 0x43e620
push 0x4d1794
push esi
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43e611
mov dword [esp + 0x24], 0x800
jmp case.0x43e5c2.69
mov ecx, esi
call fcn.004151f0
mov dword [esp + 0x24], eax
mov dl, byte [esp + 0x11]
mov word [ebx], di
mov esi, ebx
mov ecx, edi
cmp cx, 0x20
je 0x43e633
cmp cx, 9
jne 0x43e63c
movzx ecx, word [esi + 2]
add esi, 2
jmp 0x43e627
test cx, cx
jne 0x43e540
mov dh, byte [esp + 0x1b]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
movzx eax, word [ecx]
test ax, ax
jne 0x43e69e
xor eax, eax
mov byte [esp + 0x13], 1
xor ecx, ecx
test dl, dl
setne al
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
or eax, 2
test dh, dh
cmovne eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
or eax, 2
cmp byte [esp + 0x12], cl
cmovne eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp 0x43ea84
mov esi, ecx
cmp ax, 0x20
je 0x43e6ac
cmp ax, 9
jne 0x43e6b5
movzx eax, word [esi + 2]
add esi, 2
jmp 0x43e6a0
push str.YWeek
push esi
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43e777
movzx ecx, word [esp + 0x30]
test cl, 3
jne 0x43e6f5
xor edx, edx
mov eax, ecx
mov esi, 0x64
div esi
test edx, edx
jne 0x43e6f1
mov eax, ecx
mov esi, 0x190
div esi
test edx, edx
jne 0x43e6f5
mov dl, 1
jmp 0x43e6f7
xor dl, dl
movzx esi, word [esp + 0x36]
movzx eax, word [esp + 0x32]
test dl, dl
je 0x43e72f
movaps xmm0, xmmword [0x4d4790]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4d47b0]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4d47d0]
movups xmmword [esp + 0x60], xmm0
mov edx, dword [esp + eax*4 + 0x3c]
jmp 0x43e757
movaps xmm0, xmmword [0x4d4780]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4d47a0]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4d47c0]
movups xmmword [esp + 0x60], xmm0
mov edx, dword [esp + eax*4 + 0x3c]
movzx eax, word [esp + 0x34]
push eax
lea eax, [edx + esi]
mov edx, ecx
push eax
lea ecx, [esp + 0x278]
call fcn.0047c290
add esp, 8
jmp 0x43ec7b
push str.YDay
push esi
call fcn.00499643
add esp, 8
test eax, eax
je 0x43eb51
push str.YDay0
push esi
call fcn.00499643
add esp, 8
test eax, eax
je 0x43eb51
push str.WDay
push esi
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43e7f3
mov ebx, dword [esp + 0x2c]
movzx esi, word [esp + 0x34]
inc esi
cmp byte [ebx + 0x17], al
jne 0x43e7c7
mov ebx, dword [ebx + 0xc]
mov al, byte [ebx + 0x15]
test al, 2
je 0x43e7de
and al, 0x3d
mov byte [ebx + 0x15], al
mov eax, dword [ebx]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [ebx + 0x15]
and al, 0x9b
mov dword [ebx], esi
or al, 0x18
mov dword [ebx + 4], 0
mov byte [ebx + 0x15], al
jmp 0x43ec2c
push str.ShortDate
push esi
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43e822
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 0x43eb10
push str.LongDate
push esi
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43e851
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 0x43eb10
push str.YearMonth
push esi
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43e880
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 0x43eb10
push str.Time
push esi
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43e94f
mov eax, dword [esp + 0x20]
xor ecx, ecx
or eax, 2
mov esi, 1
cmp byte [esp + 0x12], cl
mov dword [esp + 0x1c], esi
cmovne eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
push 0xfaa
lea edx, [esp + 0x274]
push edx
push ecx
lea ecx, [esp + 0x3c]
push ecx
push eax
push dword [esp + 0x38]
call edi
test eax, eax
jne 0x43e8db
mov word [esp + 0x270], ax
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x43e8ed
cmp byte [esp + 0x13], dl
je 0x43ec7b
lea esi, [esp + 0x270]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x43e8f7
sub esi, ecx
lea eax, [esp + 0x270]
sar esi, 1
cmp byte [esp + 0x13], 0
lea eax, [eax + esi*2]
je 0x43e925
mov ecx, 0x20
xor edx, edx
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 edx
lea eax, [esp + 0x3c]
push eax
jne 0x43eb32
mov edx, dword [esp + 0x30]
push edx
push dword [esp + 0x38]
call edi
jmp 0x43eb3c
mov eax, dword [ebp + 0xc]
lea esi, [esp + 0x21c8]
xor bh, bh
xor bl, bl
movzx eax, word [eax]
test ax, ax
je 0x43ea6e
mov edi, dword [sym.imp.USER32.dll_IsCharAlphaNumericW]
mov ecx, eax
mov edx, 0x27
cmp cx, 0x27
jne 0x43e9e5
test bl, bl
je 0x43e989
xor bl, bl
mov bh, 1
jmp 0x43ea47
test bh, bh
je 0x43e9d3
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 2]
test ax, ax
je 0x43e9bb
push eax
call edi
test eax, eax
mov eax, dword [ebp + 0xc]
jne 0x43e9be
cmp word [eax + 2], 0x27
je 0x43e9be
test bh, bh
mov bl, 1
mov edx, 0x27
sete bh
jmp 0x43ea47
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
mov edx, 0x27
mov word [esi], ax
add esi, 2
test bh, bh
sete bh
jmp 0x43ea47
mov word [esi], dx
add esi, 2
test bh, bh
mov edx, 0x27
sete bh
jmp 0x43ea47
test bh, bh
je 0x43e9ee
mov word [esi], cx
jmp 0x43ea44
push ecx
call edi
test eax, eax
je 0x43eaed
test bl, bl
je 0x43ea0a
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 fcn.00496bcf
add esp, 8
test eax, eax
je 0x43ea9b
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x43ea96
mov dword [esp + 0x1c], 2
mov edx, 0x27
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
add eax, 2
mov dword [ebp + 0xc], eax
movzx eax, word [eax]
mov ecx, eax
test ax, ax
jne 0x43e976
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
test bl, bl
je 0x43ea6e
mov word [esi], dx
add esi, 2
mov ebx, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea ecx, [esp + 0x21c8]
xor eax, eax
mov word [esi], ax
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x43eb07
mov dword [esp + 0x1c], 2
jmp 0x43eb10
cmp ecx, 1
jmp 0x43eacb
mov eax, dword [ebp + 0xc]
movzx eax, word [eax]
push eax
push str.hHmst
call fcn.00496bcf
add esp, 8
test eax, eax
je 0x43ea36
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x43eac8
mov dword [esp + 0x1c], 1
jmp 0x43ea36
cmp ecx, 2
jne 0x43ea36
cmp dword [esp + 0x28], 0
jne 0x43ea36
xor eax, eax
mov word [esi], ax
add esi, 2
mov dword [esp + 0x28], esi
jmp 0x43ea36
test bl, bl
jne 0x43ea36
mov edx, 0x27
mov bl, 1
mov word [esi], dx
add esi, 2
jmp 0x43ea3b
cmp esi, 2
jne 0x43e8b5
push 0xfaa
lea eax, [esp + 0x274]
push eax
push ecx
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x24]
push dword [esp + 0x38]
call ebx
jmp 0x43e8cf
push dword [esp + 0x24]
push dword [esp + 0x38]
call ebx
test eax, eax
jne 0x43ec7b
mov word [esp + esi*2 + 0x270], ax
jmp 0x43ec7b
movzx ecx, word [esp + 0x30]
test cl, 3
jne 0x43eb7b
xor edx, edx
mov eax, ecx
mov edi, 0x64
div edi
test edx, edx
jne 0x43eb77
mov eax, ecx
mov ecx, 0x190
div ecx
test edx, edx
jne 0x43eb7b
mov cl, 1
jmp 0x43eb7d
xor cl, cl
movzx edx, word [esp + 0x36]
movzx eax, word [esp + 0x32]
test cl, cl
je 0x43ebb5
movaps xmm0, xmmword [0x4d4790]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4d47b0]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4d47d0]
movups xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + eax*4 + 0x3c]
jmp 0x43ebdd
movaps xmm0, xmmword [0x4d4780]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x4d47a0]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x4d47c0]
movups xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + eax*4 + 0x3c]
push str.YDay
push esi
lea edi, [ecx + edx]
call fcn.00499643
add esp, 8
test eax, eax
jne 0x43ec65
mov ebx, dword [esp + 0x2c]
cmp byte [ebx + 0x17], al
jne 0x43ec02
mov ebx, dword [ebx + 0xc]
mov cl, byte [ebx + 0x15]
test cl, 2
je 0x43ec1b
and cl, 0x3d
mov byte [ebx + 0x15], cl
mov ecx, dword [ebx]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov cl, byte [ebx + 0x15]
mov eax, edi
and cl, 0x9b
cdq
or cl, 0x18
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov byte [ebx + 0x15], cl
jge 0x43ec47
mov ecx, ebx
call fcn.00401330
and byte [ebx + 0x15], 0x8f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [0x4dc430], 0
je 0x43ec57
mov ecx, ebx
call fcn.00401330
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.00405270
add esp, 0xc
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x270]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8