Function at 0x4b9190
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 0x4b91bd
mov edi, dword [edi]
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x4b9708
xor ebp, ebp
mov esi, 0x670e30
mov al, byte [esi]
mov edx, esi
mov ecx, edi
test al, al
je 0x4b91f2
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b9200
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b91e0
cmp word [edi + 6], 0x2c
jne 0x4b9200
cmp word [edi + 8], 0x20
je 0x4b920e
add esi, 4
inc ebp
cmp esi, 0x670e4c
jl 0x4b91d0
jmp 0x4b9211
add edi, 0xa
mov cl, byte [edi]
mov al, cl
sub al, 0x30
cmp al, 3
ja 0x4b9245
mov dl, byte [edi + 2]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b924d
cmp word [edi + 4], 0x20
jne 0x4b924d
movzx eax, cl
lea ecx, [eax + eax*4]
movzx eax, dl
lea eax, [eax + ecx*2]
mov ecx, 6
add eax, 0xfffffdf0
jmp 0x4b9263
cmp al, 9
ja 0x4b93ed
cmp word [edi + 2], 0x20
jne 0x4b93ed
movzx eax, word [edi]
mov ecx, 4
sub eax, 0x30
mov dword [esp + 0x38], eax
lea ebx, [ecx + edi]
test eax, eax
je 0x4b93ed
xor edi, edi
mov esi, 0x670e4c
nop dword [eax]
mov al, byte [esi]
mov edx, esi
mov ecx, ebx
test al, al
je 0x4b92a6
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b93f9
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b9290
cmp word [ebx + 6], 0x20
jne 0x4b93ed
mov al, byte [ebx + 8]
lea esi, [ebx + 8]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [esi + 2]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [esi + 4]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [esi + 6]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
cmp word [esi + 8], 0x20
jne 0x4b93ed
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 0x4b93ed
mov ebx, dword [esp + 0x38]
add eax, 0xffff296f
push eax
push edi
push ebx
call fcn.004ba880
add esp, 0xc
test al, al
je 0x4b93ed
mov eax, dword [esp + 0x14]
add eax, 0xffff296f
push eax
push ebx
push edi
call fcn.004b9cd0
mov cl, byte [esi + 0xa]
add esp, 0xc
mov dword [esp + 0x1c], eax
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x4b93ed
mov dl, byte [esi + 0xc]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b93ed
cmp word [esi + 0xe], 0x3a
jne 0x4b93ed
mov al, byte [esi + 0x10]
mov byte [esp + 0x38], al
sub al, 0x30
cmp al, 5
ja 0x4b93ed
mov al, byte [esi + 0x12]
mov byte [esp + 0x3c], al
sub al, 0x30
cmp al, 9
ja 0x4b93ed
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 0x4b93ed
movzx eax, word [esi + 0x14]
cmp eax, 0x3a
jne 0x4b9415
mov cl, byte [esi + 0x16]
mov al, cl
sub al, 0x30
cmp al, 6
ja 0x4b93ed
mov dl, byte [esi + 0x18]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b93ed
cmp word [esi + 0x1a], 0x20
jne 0x4b93ed
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 0x4b9425
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
add esi, 4
inc edi
cmp esi, 0x670e7c
jne 0x4b9280
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp eax, 0x20
jne 0x4b93ed
mov dword [esp + 0x18], 0
lea ebx, [esi + 0x16]
mov esi, dword [esp + 0x14]
add esi, 0xffff296f
push esi
call fcn.004b8ef0
add eax, dword [esp + 0x20]
add esp, 4
imul ecx, esi, 0x16d
add ecx, eax
mov dword [esp + 0x1c], ecx
cmp ebp, 7
je 0x4b945c
lea eax, [ecx + 1]
mov ecx, 7
cdq
idiv ecx
cmp ebp, edx
jne 0x4b93ed
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, 0x6710f8
mov dword [esp + 0x14], ecx
mov ecx, ebx
cbw
cmp word [ecx], ax
jne 0x4b94f7
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b94d4
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
jmp 0x4b9b3d
mov edx, 0x6710fc
mov ecx, ebx
mov al, 0x55
cbw
cmp word [ecx], ax
jne 0x4b9523
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b9500
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
jmp 0x4b9b3d
mov esi, 0x2d
xor edi, edi
mov edx, 0x671100
mov ecx, ebx
mov al, 0x45
cbw
cmp word [ecx], ax
jne 0x4b954f
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b9533
mov edx, 4
jmp 0x4b96d4
mov edx, 0x671104
mov ecx, ebx
mov al, 0x45
cbw
cmp word [ecx], ax
jne 0x4b9574
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b9558
mov edx, 5
jmp 0x4b96d4
mov edx, 0x671108
mov ecx, ebx
mov al, 0x43
nop dword [eax]
cbw
cmp word [ecx], ax
jne 0x4b959c
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b9580
mov edx, 5
jmp 0x4b96d4
mov edx, 0x67110c
mov ecx, ebx
mov al, 0x43
cbw
cmp word [ecx], ax
jne 0x4b95c1
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b95a5
mov edx, 6
jmp 0x4b96d4
mov edx, 0x671110
mov ecx, ebx
mov al, 0x4d
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b95ec
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b95d0
mov edx, 6
jmp 0x4b96d4
mov edx, 0x671114
mov ecx, ebx
mov al, 0x4d
cbw
cmp word [ecx], ax
jne 0x4b9611
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b95f5
mov edx, 7
jmp 0x4b96d4
mov edx, 0x671118
mov ecx, ebx
mov al, 0x50
nop word [eax + eax]
cbw
cmp word [ecx], ax
jne 0x4b963c
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b9620
mov edx, 7
jmp 0x4b96d4
mov edx, 0x67111c
mov ecx, ebx
mov al, 0x50
cbw
cmp word [ecx], ax
jne 0x4b965e
mov al, byte [edx + 1]
inc edx
add ecx, 2
test al, al
jne 0x4b9645
mov edx, 8
jmp 0x4b96d4
movzx ecx, word [ebx]
cmp ecx, 0x2b
je 0x4b966e
cmp ecx, esi
jne 0x4b93ed
mov dl, byte [ebx + 2]
mov al, dl
sub al, 0x30
cmp al, 2
ja 0x4b93ed
mov dh, byte [ebx + 4]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [ebx + 6]
mov byte [esp + 0x38], al
sub al, 0x30
cmp al, 5
ja 0x4b93ed
mov bl, byte [ebx + 8]
mov al, bl
sub al, 0x30
cmp al, 9
ja 0x4b93ed
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.004ba000
mov ecx, edx
add esp, 0x14
mov ebp, eax
test ecx, ecx
jl 0x4b93ed
jg 0x4b96fb
test ebp, ebp
jb 0x4b93ed
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
jmp 0x4b9b3d
cmp eax, 1
jne 0x4b9b65
mov al, byte [edi]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [edi + 2]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [edi + 4]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [edi + 6]
sub al, 0x30
cmp al, 9
ja 0x4b93ed
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 0x4b93ed
movzx eax, word [edi + 8]
lea esi, [edi + 8]
add ebx, 0xffff296f
cmp eax, 0x2d
jne 0x4b9789
mov al, byte [edi + 0xa]
lea esi, [edi + 0xa]
sub al, 0x30
mov ebp, esi
cmp al, 1
ja 0x4b93ed
mov dl, byte [esi + 2]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b93ed
movzx eax, byte [esi]
lea ecx, [eax + eax*4]
movzx eax, dl
lea edi, [ecx*2 - 0x211]
add edi, eax
cmp edi, 0xb
ja 0x4b93ed
movzx eax, word [esi + 4]
add esi, 4
cmp eax, 0x2d
jne 0x4b97d1
mov al, byte [ebp + 6]
lea esi, [ebp + 6]
sub al, 0x30
cmp al, 3
ja 0x4b93ed
mov dl, byte [esi + 2]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b93ed
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.004ba880
add esp, 0xc
test al, al
je 0x4b93ed
push ebx
push ebp
push edi
call fcn.004b9cd0
push ebx
mov ebp, eax
call fcn.004b8ef0
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 0x4b986d
cmp eax, 0x74
je 0x4b986d
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 0x4b93ed
mov dl, byte [esi + 8]
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x4b93ed
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 0x4b93ed
movzx eax, word [esi]
cmp eax, 0x3a
jne 0x4b98ba
mov al, byte [edi + 6]
lea esi, [edi + 6]
sub al, 0x30
mov ecx, esi
cmp al, 5
ja 0x4b93ed
mov al, byte [esi + 2]
mov byte [esp + 0x3c], al
sub al, 0x30
cmp al, 9
ja 0x4b93ed
mov al, byte [esi]
add esi, 4
mov byte [esp + 0x38], al
movzx eax, word [esi]
cmp eax, 0x3a
jne 0x4b98ee
mov al, byte [ecx + 6]
lea esi, [ecx + 6]
sub al, 0x30
cmp al, 6
ja 0x4b93ed
mov dl, byte [esi + 2]
mov al, dl
mov byte [esp + 0x13], dl
sub al, 0x30
cmp al, 9
ja 0x4b93ed
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 0x4b93ed
add esi, 4
cmp word [esi], 0x2e
jne 0x4b99cc
mov al, byte [esi + 2]
sub al, 0x30
cmp al, 9
ja 0x4b99cc
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 0x4b99b0
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 0x4b9960
mov al, byte [esi]
sub al, 0x30
cmp al, 9
ja 0x4b99d4
nop dword [eax + eax]
mov al, byte [esi + 2]
add esi, 2
sub al, 0x30
cmp al, 9
jbe 0x4b99a0
jmp 0x4b99d4
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 0x4b99b0
jmp 0x4b99d4
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 0x4b9b3d
cmp eax, 0x7a
je 0x4b9b3d
cmp eax, 0x2b
je 0x4b9aa6
cmp eax, 0x2d
jne 0x4b9b3d
mov dl, byte [esi + 2]
mov al, dl
sub al, 0x30
cmp al, 2
ja 0x4b93ed
mov al, byte [esi + 4]
mov byte [esp + 0x38], al
sub al, 0x30
cmp al, 9
ja 0x4b93ed
cmp word [esi + 6], 0x3a
jne 0x4b93ed
mov cl, byte [esi + 8]
mov al, cl
sub al, 0x30
cmp al, 5
ja 0x4b93ed
mov dh, byte [esi + 0xa]
mov al, dh
sub al, 0x30
cmp al, 9
ja 0x4b93ed
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.004ba000
mov ecx, edx
add esp, 0x14
mov ebp, eax
test ecx, ecx
jl 0x4b93ed
jg 0x4b9b3d
test ebp, ebp
jb 0x4b93ed
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.0049c000
push 0x6d1be0
lea eax, [esp + 0x28]
push eax
call fcn.0062173b
int3