Function at 0x4b8900
Capabilities:
Parse pe header

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x24]
xorps xmm0, xmm0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x38]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
movlpd qword [esp + 0x24], xmm0
cmp dword [edi + 0x14], 7
jbe 0x4b892d
mov edi, dword [edi]
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x4b8e78
xor ebp, ebp
mov esi, 0x66fe30
mov al, byte [esi]
mov edx, esi
mov ecx, edi
test al, al
je 0x4b8962
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b8970
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8950
cmp word [edi + 6], 0x2c
jne 0x4b8970
cmp word [edi + 8], 0x20
je 0x4b897e
add esi, 4
inc ebp
cmp esi, 0x66fe4c
jl 0x4b8940
jmp 0x4b8981
add edi, 0xa
mov cl, byte [edi]
mov al, cl
sub al, 0x30
cmp al, 3
ja 0x4b89b5
mov dl, byte [edi + 2]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b89bd
cmp word [edi + 4], 0x20
jne 0x4b89bd
movzx eax, cl
lea ecx, [eax + eax*4]
movzx eax, dl
lea eax, [eax + ecx*2]
mov ecx, 6
add eax, 0xfffffdf0
jmp 0x4b89d3
cmp al, 9
ja 0x4b8b5d
cmp word [edi + 2], 0x20
jne 0x4b8b5d
movzx eax, word [edi]
mov ecx, 4
sub eax, 0x30
mov dword [esp + 0x38], eax
lea ebx, [ecx + edi]
test eax, eax
je 0x4b8b5d
xor edi, edi
mov esi, 0x66fe4c
nop dword [eax]
mov al, byte [esi]
mov edx, esi
mov ecx, ebx
test al, al
je 0x4b8a16
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b8b69
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8a00
cmp word [ebx + 6], 0x20
jne 0x4b8b5d
mov al, byte [ebx + 8]
lea esi, [ebx + 8]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [esi + 2]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [esi + 4]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [esi + 6]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
cmp word [esi + 8], 0x20
jne 0x4b8b5d
movzx eax, word [esi]
lea ecx, [eax + eax*4]
movzx eax, word [esi + 2]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movzx eax, word [esi + 4]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movzx eax, word [esi + 6]
lea eax, [eax + ecx*2]
mov dword [esp + 0x14], eax
cmp eax, 0xd691
jb 0x4b8b5d
mov ebx, dword [esp + 0x38]
add eax, 0xffff296f
push eax
push edi
push ebx
call fcn.004b9ff0
add esp, 0xc
test al, al
je 0x4b8b5d
mov eax, dword [esp + 0x14]
add eax, 0xffff296f
push eax
push ebx
push edi
call fcn.004b9440
mov cl, byte [esi + 0xa]
add esp, 0xc
mov dword [esp + 0x1c], eax
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x4b8b5d
mov dl, byte [esi + 0xc]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
cmp word [esi + 0xe], 0x3a
jne 0x4b8b5d
mov al, byte [esi + 0x10]
mov byte [esp + 0x38], al
sub al, 0x30
cmp al, 5
ja 0x4b8b5d
mov al, byte [esi + 0x12]
mov byte [esp + 0x3c], al
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
movzx eax, cl
lea ecx, [eax + eax*4]
movzx eax, dl
lea eax, [eax + ecx*2]
mov dword [esp + 0x20], eax
cmp eax, 0x227
ja 0x4b8b5d
movzx eax, word [esi + 0x14]
cmp eax, 0x3a
jne 0x4b8b85
mov cl, byte [esi + 0x16]
mov al, cl
sub al, 0x30
cmp al, 6
ja 0x4b8b5d
mov dl, byte [esi + 0x18]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
cmp word [esi + 0x1a], 0x20
jne 0x4b8b5d
movzx eax, cl
lea ebx, [esi + 0x1c]
lea edi, [eax + eax*4]
movzx eax, dl
lea edi, [edi - 0x108]
lea edi, [eax + edi*2]
mov dword [esp + 0x18], edi
cmp edi, 0x3c
jle 0x4b8b95
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
add esi, 4
inc edi
cmp esi, 0x66fe7c
jne 0x4b89f0
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp eax, 0x20
jne 0x4b8b5d
mov dword [esp + 0x18], 0
lea ebx, [esi + 0x16]
mov esi, dword [esp + 0x14]
add esi, 0xffff296f
push esi
call fcn.004b8660
add eax, dword [esp + 0x20]
add esp, 4
imul ecx, esi, 0x16d
add ecx, eax
mov dword [esp + 0x1c], ecx
cmp ebp, 7
je 0x4b8bcc
lea eax, [ecx + 1]
mov ecx, 7
cdq
idiv ecx
cmp ebp, edx
jne 0x4b8b5d
movzx eax, byte [esp + 0x38]
cdq
mov esi, eax
mov edi, edx
mov ecx, edx
shld ecx, eax, 2
shl eax, 2
add esi, eax
movzx eax, byte [esp + 0x3c]
cdq
adc edi, ecx
shld edi, esi, 1
add esi, esi
add esi, eax
adc edi, edx
sub esi, 0x7dd0
mov ebp, esi
mov edx, 0x15180
sbb edi, 0
mov ecx, edi
shld ecx, ebp, 4
shl ebp, 4
sub ebp, esi
sbb ecx, edi
imul eax, dword [esp + 0x20], 0xe10
shld ecx, ebp, 2
shl ebp, 2
add ebp, eax
mov eax, dword [esp + 0x1c]
adc ecx, 0
imul edx
add ebp, eax
mov eax, dword [esp + 0x18]
adc ecx, edx
cdq
add ebp, eax
mov al, 0x47
adc ecx, edx
mov edx, 0x6700f8
mov dword [esp + 0x14], ecx
mov ecx, ebx
cbw
cmp word [ecx], ax
jne 0x4b8c67
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8c44
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
jmp 0x4b92ad
mov edx, 0x6700fc
mov ecx, ebx
mov al, 0x55
cbw
cmp word [ecx], ax
jne 0x4b8c93
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8c70
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
jmp 0x4b92ad
mov esi, 0x2d
xor edi, edi
mov edx, 0x670100
mov ecx, ebx
mov al, 0x45
cbw
cmp word [ecx], ax
jne 0x4b8cbf
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8ca3
mov edx, 4
jmp 0x4b8e44
mov edx, 0x670104
mov ecx, ebx
mov al, 0x45
cbw
cmp word [ecx], ax
jne 0x4b8ce4
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8cc8
mov edx, 5
jmp 0x4b8e44
mov edx, 0x670108
mov ecx, ebx
mov al, 0x43
nop dword [eax]
cbw
cmp word [ecx], ax
jne 0x4b8d0c
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8cf0
mov edx, 5
jmp 0x4b8e44
mov edx, 0x67010c
mov ecx, ebx
mov al, 0x43
cbw
cmp word [ecx], ax
jne 0x4b8d31
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8d15
mov edx, 6
jmp 0x4b8e44
mov edx, 0x670110
mov ecx, ebx
mov al, 0x4d
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b8d5c
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8d40
mov edx, 6
jmp 0x4b8e44
mov edx, 0x670114
mov ecx, ebx
mov al, 0x4d
cbw
cmp word [ecx], ax
jne 0x4b8d81
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8d65
mov edx, 7
jmp 0x4b8e44
mov edx, 0x670118
mov ecx, ebx
mov al, 0x50
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b8dac
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8d90
mov edx, 7
jmp 0x4b8e44
mov edx, 0x67011c
mov ecx, ebx
mov al, 0x50
cbw
cmp word [ecx], ax
jne 0x4b8dce
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b8db5
mov edx, 8
jmp 0x4b8e44
movzx ecx, word [ebx]
cmp ecx, 0x2b
je 0x4b8dde
cmp ecx, esi
jne 0x4b8b5d
mov dl, byte [ebx + 2]
mov al, dl
sub al, 0x30
cmp al, 2
ja 0x4b8b5d
mov dh, byte [ebx + 4]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [ebx + 6]
mov byte [esp + 0x38], al
sub al, 0x30
cmp al, 5
ja 0x4b8b5d
mov bl, byte [ebx + 8]
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
movzx eax, dl
mov esi, ecx
movzx edx, dh
add edx, 0xfffffdf0
lea ecx, [eax + eax*4]
movzx eax, byte [esp + 0x38]
lea edx, [edx + ecx*2]
lea edi, [eax + eax*4]
movzx eax, bl
lea edi, [edi - 0x108]
lea edi, [eax + edi*2]
mov eax, dword [esp + 0x14]
push edi
push edx
push esi
push eax
push ebp
call fcn.004b9770
mov ecx, edx
add esp, 0x14
mov ebp, eax
test ecx, ecx
jl 0x4b8b5d
jg 0x4b8e6b
test ebp, ebp
jb 0x4b8b5d
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
jmp 0x4b92ad
cmp eax, 1
jne 0x4b92d5
mov al, byte [edi]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [edi + 2]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [edi + 4]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [edi + 6]
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
movzx eax, word [edi]
lea ecx, [eax + eax*4]
movzx eax, word [edi + 2]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movzx eax, word [edi + 4]
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movzx eax, word [edi + 6]
lea ebx, [eax + ecx*2]
cmp ebx, 0xd691
jb 0x4b8b5d
movzx eax, word [edi + 8]
lea esi, [edi + 8]
add ebx, 0xffff296f
cmp eax, 0x2d
jne 0x4b8ef9
mov al, byte [edi + 0xa]
lea esi, [edi + 0xa]
sub al, 0x30
mov ebp, esi
cmp al, 1
ja 0x4b8b5d
mov dl, byte [esi + 2]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
movzx eax, byte [esi]
lea ecx, [eax + eax*4]
movzx eax, dl
lea edi, [ecx*2 - 0x211]
add edi, eax
cmp edi, 0xb
ja 0x4b8b5d
movzx eax, word [esi + 4]
add esi, 4
cmp eax, 0x2d
jne 0x4b8f41
mov al, byte [ebp + 6]
lea esi, [ebp + 6]
sub al, 0x30
cmp al, 3
ja 0x4b8b5d
mov dl, byte [esi + 2]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
movzx eax, byte [esi]
push ebx
push edi
lea ecx, [eax + eax*4]
movzx eax, dl
lea ecx, [ecx - 0x108]
lea ebp, [eax + ecx*2]
push ebp
call fcn.004b9ff0
add esp, 0xc
test al, al
je 0x4b8b5d
push ebx
push ebp
push edi
call fcn.004b9440
push ebx
mov ebp, eax
call fcn.004b8660
add ebp, eax
add esp, 0x10
imul eax, ebx, 0x16d
add ebp, eax
movzx eax, word [esi + 4]
mov dword [esp + 0x1c], ebp
cmp eax, 0x54
je 0x4b8fdd
cmp eax, 0x74
je 0x4b8fdd
mov eax, ebp
mov ecx, 0x15180
imul ecx
mov edi, 0x989680
mov ecx, eax
mov eax, edx
mul edi
mov esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x34]
mul edi
pop edi
add esi, edx
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov eax, ecx
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov cl, byte [esi + 6]
lea edi, [esi + 6]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x4b8b5d
mov dl, byte [esi + 8]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
movzx eax, cl
add esi, 0xa
lea ecx, [eax + eax*4]
movzx eax, dl
lea eax, [eax + ecx*2]
mov dword [esp + 0x20], eax
cmp eax, 0x227
ja 0x4b8b5d
movzx eax, word [esi]
cmp eax, 0x3a
jne 0x4b902a
mov al, byte [edi + 6]
lea esi, [edi + 6]
sub al, 0x30
mov ecx, esi
cmp al, 5
ja 0x4b8b5d
mov al, byte [esi + 2]
mov byte [esp + 0x3c], al
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [esi]
add esi, 4
mov byte [esp + 0x38], al
movzx eax, word [esi]
cmp eax, 0x3a
jne 0x4b905e
mov al, byte [ecx + 6]
lea esi, [ecx + 6]
sub al, 0x30
cmp al, 6
ja 0x4b8b5d
mov dl, byte [esi + 2]
mov al, dl
mov byte [esp + 0x13], dl
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
mov al, byte [esi]
mov byte [esp + 0x12], al
movzx eax, al
lea ecx, [eax + eax*4]
movzx eax, dl
lea eax, [eax + ecx*2]
cmp eax, 0x24c
ja 0x4b8b5d
add esi, 4
cmp word [esi], 0x2e
jne 0x4b913c
mov al, byte [esi + 2]
sub al, 0x30
cmp al, 9
ja 0x4b913c
movzx eax, word [esi + 2]
mov ebp, 6
cdq
mov edi, eax
mov ebx, edx
add edi, 0xffffffd0
adc ebx, 0xffffffff
add esi, 4
nop dword [eax]
mov al, byte [esi]
sub al, 0x30
cmp al, 9
ja 0x4b9120
mov eax, edi
mov ecx, ebx
shld ecx, eax, 2
shl eax, 2
add edi, eax
movzx eax, word [esi]
cdq
adc ebx, ecx
shld ebx, edi, 1
add edi, edi
add edi, eax
adc ebx, edx
add edi, 0xffffffd0
adc ebx, 0xffffffff
add esi, 2
sub ebp, 1
jne 0x4b90d0
mov al, byte [esi]
sub al, 0x30
cmp al, 9
ja 0x4b9144
nop dword [eax + eax]
mov al, byte [esi + 2]
add esi, 2
sub al, 0x30
cmp al, 9
jbe 0x4b9110
jmp 0x4b9144
mov eax, edi
mov ecx, ebx
shld ecx, eax, 2
shl eax, 2
add edi, eax
adc ebx, ecx
shld ebx, edi, 1
add edi, edi
sub ebp, 1
jne 0x4b9120
jmp 0x4b9144
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
movzx eax, byte [esp + 0x38]
cdq
mov ebp, eax
mov ecx, edx
shld ecx, eax, 2
shl eax, 2
add ebp, eax
movzx eax, byte [esp + 0x3c]
adc edx, ecx
shld edx, ebp, 1
add ebp, ebp
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x14]
cdq
add ebp, eax
mov eax, ebp
adc ecx, edx
mov dword [esp + 0x14], ecx
shld ecx, eax, 1
add eax, eax
add ebp, eax
mov eax, dword [esp + 0x14]
adc eax, ecx
mov ecx, eax
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x12]
shld ecx, ebp, 1
cdq
add ebp, ebp
add ebp, eax
mov eax, ebp
adc ecx, edx
mov edx, 0x15180
mov dword [esp + 0x14], ecx
shld ecx, eax, 2
shl eax, 2
add ebp, eax
mov eax, dword [esp + 0x14]
adc eax, ecx
mov dword [esp + 0x14], eax
mov ecx, eax
imul eax, dword [esp + 0x20], 0xe10
shld ecx, ebp, 1
add ebp, ebp
add ebp, eax
mov eax, dword [esp + 0x1c]
adc ecx, 0
imul edx
add ebp, eax
movzx eax, byte [esp + 0x13]
adc ecx, edx
cdq
add ebp, eax
movzx eax, word [esi]
mov byte [esp + 0x3c], al
adc ecx, edx
sub ebp, 0x1d7ed0
sbb ecx, 0
mov dword [esp + 0x14], ecx
cmp eax, 0x5a
je 0x4b92ad
cmp eax, 0x7a
je 0x4b92ad
cmp eax, 0x2b
je 0x4b9216
cmp eax, 0x2d
jne 0x4b92ad
mov dl, byte [esi + 2]
mov al, dl
sub al, 0x30
cmp al, 2
ja 0x4b8b5d
mov al, byte [esi + 4]
mov byte [esp + 0x38], al
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
cmp word [esi + 6], 0x3a
jne 0x4b8b5d
mov cl, byte [esi + 8]
mov al, cl
sub al, 0x30
cmp al, 5
ja 0x4b8b5d
mov dh, byte [esi + 0xa]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x4b8b5d
movzx eax, cl
lea ecx, [eax + eax*4]
movzx eax, dh
lea eax, [eax + ecx*2]
add eax, 0xfffffdf0
push eax
movzx eax, dl
lea ecx, [eax + eax*4]
movzx eax, byte [esp + 0x3c]
lea eax, [eax + ecx*2]
add eax, 0xfffffdf0
push eax
push dword [esp + 0x44]
mov eax, dword [esp + 0x20]
push eax
push ebp
call fcn.004b9770
mov ecx, edx
add esp, 0x14
mov ebp, eax
test ecx, ecx
jl 0x4b8b5d
jg 0x4b92ad
test ebp, ebp
jb 0x4b8b5d
mov eax, ecx
mov esi, 0x989680
mul esi
mov ecx, eax
mov eax, ebp
mul esi
add ecx, edx
mov edx, dword [esp + 0x34]
add eax, edi
pop edi
pop esi
adc ecx, ebx
mov dword [edx], eax
pop ebp
mov dword [edx + 4], ecx
mov eax, edx
pop ebx
add esp, 0x20
ret
push str.unrecognized_date_format
lea ecx, [esp + 0x28]
call fcn.0049b760
push 0x6d07c0
lea eax, [esp + 0x28]
push eax
call fcn.00620dcb
int3