Function at 0x101a9ab0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc0
mov eax, dword [0x104fb780]
xor eax, esp
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc4]
push ebx
push ebp
mov ebp, dword [esp + 0xd0]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], ecx
dec ebp
mov dword [esp + 0x4c], eax
xor esi, esi
mov dword [esp + 0x48], ebp
xor ebx, ebx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x101a9af3
sub edi, ecx
mov dword [esp + 0x3c], edi
xor edi, edi
cmp dword [esp + 0x3c], ebx
jle 0x101a9b66
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
cmp byte [esi + edi], 0x25
jne 0x101a9b5b
inc edi
mov al, byte [esi + edi]
lea ebp, [esi + edi]
mov byte [esp + 0x43], al
movsx eax, al
push eax
call fcn.1013a3a0
add esp, 4
test eax, eax
je 0x101a9b4a
push 0xa
push 0
push ebp
call fcn.10140ae3
mov ebp, dword [esp + 0x48]
add esp, 0xc
cmp eax, ebx
jle 0x101a9b5b
mov ebx, eax
jmp 0x101a9b5b
cmp byte [esp + 0x43], 0x2e
mov eax, 9
mov ebp, dword [esp + 0x3c]
cmove ebx, eax
inc edi
cmp edi, ebp
jl 0x101a9b10
mov ebp, dword [esp + 0x48]
xor esi, esi
movsd xmm0, qword [0x104eaa98]
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
call fcn.1013af30
movaps xmm4, xmm0
mov eax, dword [esp + 0xe0]
movsd xmm0, qword [0x104eaa40]
divsd xmm0, xmm4
mov edi, dword [esp + 0xe8]
movsd xmm3, qword [0x104eaa58]
movsd qword [esp + 0x50], xmm4
movups xmm1, xmmword [eax]
mov eax, dword [esp + 0x4c]
movups xmmword [esp + 0x60], xmm1
unpckhpd xmm1, xmm1
mov byte [eax + ebp], 0
addsd xmm0, xmm1
mov byte [eax], 0
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x68], xmm0
test edi, edi
je 0x101a9be1
subsd xmm0, xmm3
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x68], xmm0
push dword [esp + 0xe4]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.101a8bf0
movsd xmm0, qword [esp + 0x3c]
add esp, 0x20
test edi, edi
je 0x101a9c21
addsd xmm0, xmm3
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x24], ebx
test ebx, ebx
jns 0x101a9c3d
neg ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x24], ebx
jmp 0x101a9c45
mov dword [esp + 0x34], 0
mulsd xmm0, xmm4
sub esp, 8
movsd qword [esp + 0x24], xmm0
fld qword [esp + 0x24]
fstp qword [esp]
call fcn.101327d0
fstp qword [esp + 0x24]
movsd xmm0, qword [esp + 0x24]
add esp, 8
cmp dword [esp + 0x3c], 0
divsd xmm0, qword [esp + 0x50]
cvttsd2si eax, xmm0
movsd qword [esp + 0x1c], xmm0
mov dword [esp + 0x38], eax
jle 0x101a9cb4
mov ecx, dword [esp + 0x10]
xor edx, edx
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + edx]
cmp al, 0x25
jne 0x101aac5c
mov bl, byte [ebx + edx + 1]
inc edx
mov dword [esp + 0x18], edx
cmp bl, al
jne 0x101a9ccf
mov byte [edi + esi], al
inc esi
cmp esi, ebp
jb 0x101a9d22
mov ecx, dword [esp + 0xcc]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011f88a
add esp, 0xc0
ret
cmp bl, 0x61
jne 0x101a9d3a
mov eax, dword [esp + 0x60]
mov ecx, 7
cdq
idiv ecx
mov eax, ebp
sub eax, esi
test edx, edx
push eax
mov eax, dword [0x104fcd8c]
lea ecx, [edx + 7]
cmovns ecx, edx
lea eax, [eax + ecx*4]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9d07
sub esi, ecx
cmp esi, ebp
jae 0x101a9cb4
movsd xmm0, qword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
inc edx
mov byte [edi + esi], 0
cmp edx, dword [esp + 0x3c]
jl 0x101a9c94
jmp 0x101a9cb4
cmp bl, 0x41
jne 0x101a9d7e
mov eax, dword [esp + 0x60]
mov ecx, 7
cdq
idiv ecx
mov eax, ebp
sub eax, esi
test edx, edx
push eax
lea eax, [edx + 7]
cmovns eax, edx
lea ecx, [eax + eax*4]
mov eax, dword [str.Wednesday]
lea eax, [eax + ecx*2]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9d75
jmp 0x101a9d0e
cmp bl, 0x62
je 0x101aac2d
cmp bl, 0x68
je 0x101aac2d
cmp bl, 0x42
jne 0x101a9dcc
mov eax, ebp
sub eax, esi
push eax
mov eax, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [str.January]
lea eax, [eax + ecx*2]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9dc0
jmp 0x101a9d0e
cmp bl, 0x63
jne 0x101a9e5e
mov eax, dword [esp + 0x60]
mov ecx, 7
cdq
idiv ecx
push dword [esp + 0x24]
mov eax, dword [0x104fcd8c]
test edx, edx
push dword [esp + 0x3c]
push dword [esp + 0x34]
lea ecx, [edx + 7]
push dword [esp + 0x34]
cmovns ecx, edx
cmp dword [esp + 0x44], 0
mov edx, dword [esp + 0x40]
lea ecx, [eax + ecx*4]
mov eax, dword [0x104fcd94]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
push edx
push eax
push ecx
lea eax, [esp + 0x8c]
jne 0x101a9e29
push str._s__s__02d__02d:_02d:_02d__04d
jmp 0x101a9e2e
push str._s__s__02d__02d:_02d:_02d___04d
push eax
call fcn.1018fd80
add esp, 0x24
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9e52
jmp 0x101a9d0e
cmp bl, 0x43
jne 0x101a9ecc
mov eax, 0x51eb851f
imul dword [esp + 0x24]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x34]
test edx, edx
lea eax, [ecx + 1]
cmovne ecx, eax
mov eax, str.__02d
push ecx
mov ecx, str._02d
cmove eax, ecx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9ec0
jmp 0x101a9d0e
cmp bl, 0x64
jne 0x101a9f0c
push ecx
lea eax, [esp + 0x74]
push str._02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9f00
jmp 0x101a9d0e
cmp bl, 0x44
jne 0x101a9f80
mov ecx, dword [esp + 0x24]
mov eax, 0x51eb851f
imul dword [esp + 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
imul eax, eax, 0x64
sub ecx, eax
mov eax, dword [esp + 0x30]
push ecx
inc eax
cmp dword [esp + 0x38], 0
push edx
push eax
lea eax, [esp + 0x7c]
jne 0x101a9f4b
push str._02d__02d__02d
jmp 0x101a9f50
push str._02d__02d___02d
push eax
call fcn.1018fd80
add esp, 0x14
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9f74
jmp 0x101a9d0e
cmp bl, 0x65
jne 0x101a9fcc
lea eax, [esp + 0x70]
push ecx
cmp ecx, 0xa
jge 0x101a9f96
push str.__01d
jmp 0x101a9f9b
push str._02d
push eax
call fcn.1018fd80
add esp, 0xc
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x101a9fc0
jmp 0x101a9d0e
cmp bl, 0x46
jne 0x101aa023
mov eax, dword [esp + 0x30]
inc eax
cmp dword [esp + 0x34], 0
push ecx
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0x7c]
jne 0x101a9fee
push str._04d__02d__02d
jmp 0x101a9ff3
push str.__04d__02d__02d
push eax
call fcn.1018fd80
add esp, 0x14
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa017
jmp 0x101a9d0e
cmp bl, 0x48
jne 0x101aa06c
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x70]
push ebx
push str._02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa060
jmp 0x101a9d0e
cmp bl, 0x49
jne 0x101aa0c2
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x101aa07d
push 0xc
jmp 0x101aa089
cmp ebx, 0xc
jle 0x101aa088
lea eax, [ebx - 0xc]
push eax
jmp 0x101aa089
push ebx
lea eax, [esp + 0x74]
push str._02d
push eax
call fcn.1018fd80
add esp, 0xc
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa0b6
jmp 0x101a9d0e
cmp bl, 0x6a
jne 0x101aa12c
push dword [esp + 0xe4]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.101a9180
push dword [esp + 0x58]
lea eax, [esp + 0x88]
push str._03d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x2c
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa120
jmp 0x101a9d0e
cmp bl, 0x6b
jne 0x101aa17c
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x70]
push ebx
cmp ebx, 0xa
jge 0x101aa146
push str.__01d
jmp 0x101aa14b
push str._02d
push eax
call fcn.1018fd80
add esp, 0xc
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa170
jmp 0x101a9d0e
cmp bl, 0x6c
jne 0x101aa1e9
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x101aa1c4
push 0xc
push str._02d
lea eax, [esp + 0x78]
push eax
call fcn.1018fd80
add esp, 0xc
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa1b8
jmp 0x101a9d0e
cmp ebx, 0xa
jge 0x101aa1d1
push ebx
push str.__01d
jmp 0x101aa190
cmp ebx, 0xc
jg 0x101aa1d9
push ebx
jmp 0x101aa18b
lea eax, [ebx - 0xc]
push eax
cmp ebx, 0x16
jge 0x101aa18b
push str.__01d
jmp 0x101aa190
cmp bl, 0x6d
jne 0x101aa22d
mov eax, dword [esp + 0x30]
inc eax
push eax
lea eax, [esp + 0x74]
push str._02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa221
jmp 0x101a9d0e
cmp bl, 0x4d
jne 0x101aa26f
push dword [esp + 0x2c]
lea eax, [esp + 0x74]
push str._02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa263
jmp 0x101a9d0e
cmp bl, 0x6e
jne 0x101aa286
mov byte [edi + esi], 0xa
inc esi
cmp esi, ebp
jae 0x101a9cb4
jmp 0x101a9d22
cmp bl, 0x70
jne 0x101aa2cf
cmp dword [esp + 0x28], 0
mov ecx, 0x1044e150
mov eax, 0x1044e14c
cmovge eax, ecx
push eax
lea eax, [esp + 0x74]
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x14
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa2c3
jmp 0x101a9d0e
cmp bl, 0x72
jne 0x101aa340
push dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
push dword [esp + 0x30]
test ebx, ebx
jne 0x101aa2e8
push 0xc
jmp 0x101aa304
cmp ebx, 0xc
jle 0x101aa2f8
lea eax, [ebx - 0xc]
push eax
push str._02d:_02d:_02d_PM
jmp 0x101aa309
jne 0x101aa303
push 0xc
push str._02d:_02d:_02d_PM
jmp 0x101aa309
push ebx
push str._02d:_02d:_02d_AM
lea eax, [esp + 0x80]
push eax
call fcn.1018fd80
add esp, 0x14
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa334
jmp 0x101a9d0e
cmp bl, 0x52
jne 0x101aa38c
push dword [esp + 0x2c]
lea eax, [esp + 0x74]
push dword [esp + 0x2c]
push str._02d:_02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x1c
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa380
jmp 0x101a9d0e
cmp bl, 0x53
jne 0x101aa4e7
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
lea eax, [edi + 2]
cmp eax, dword [esp + 0x3c]
jge 0x101aa485
cmp byte [ebx + edi + 1], 0x25
jne 0x101aa485
add edi, 2
add edi, ebx
mov al, byte [edi]
cmp al, 0x2e
je 0x101aa3d4
movsx eax, al
push eax
call fcn.1013a3a0
add esp, 4
test eax, eax
je 0x101aa47f
cmp byte [edi], 0x2e
jne 0x101aa3e0
mov eax, 9
jmp 0x101aa3ed
push 0xa
push 0
push edi
call fcn.10140ae3
add esp, 0xc
mov edi, dword [esp + 0x18]
add edi, 2
mov dword [esp + 0x18], edi
test eax, eax
je 0x101aa47f
push eax
add eax, 3
push eax
lea eax, [esp + 0xc8]
push str.__0_d._df
push eax
call fcn.1018fd80
movsd xmm0, qword [esp + 0x2c]
lea eax, [esp + 0xd0]
add esp, 8
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.1018fd80
add esp, 0x10
cmp byte [ebx + edi], 0x2e
jne 0x101aa4a4
lea ecx, [esp + 0x70]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101aa447
sub ecx, edx
lea eax, [ecx - 1]
cmp byte [esp + eax + 0x70], 0x30
jne 0x101aa4a4
nop word [eax + eax]
cmp byte [esp + eax + 0x6f], 0x2e
je 0x101aa4a4
cmp eax, 0x50
jae 0x101aac6d
mov byte [esp + eax + 0x70], 0
dec eax
cmp byte [esp + eax + 0x70], 0x30
je 0x101aa460
jmp 0x101aa4a4
movsd xmm0, qword [esp + 0x1c]
addsd xmm0, qword [0x104eaa40]
cvttsd2si eax, xmm0
push eax
lea eax, [esp + 0x74]
push str._02d
push eax
call fcn.1018fd80
add esp, 0xc
mov edi, dword [esp + 0x4c]
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa4c3
sub esi, ecx
cmp esi, ebp
jae 0x101a9cb4
movsd xmm0, qword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jmp 0x101a9d26
cmp bl, 0x73
jne 0x101aa54c
mov eax, dword [esp + 0x60]
add eax, 0xffff6175
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x104a9398]
addsd xmm0, qword [esp + 0x58]
cvttsd2si eax, xmm0
push eax
lea eax, [esp + 0x74]
push 0x1044af60
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa540
jmp 0x101a9d0e
cmp bl, 0x74
jne 0x101aa563
mov byte [edi + esi], 9
inc esi
cmp esi, ebp
jae 0x101a9cb4
jmp 0x101a9d22
cmp bl, 0x54
jne 0x101aa5ad
push dword [esp + 0x38]
lea eax, [esp + 0x74]
push dword [esp + 0x30]
push dword [esp + 0x30]
push str._02d:_02d:_02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x20
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa5a1
jmp 0x101a9d0e
cmp bl, 0x55
jne 0x101aa640
push dword [esp + 0xe4]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.101a9180
mov eax, dword [esp + 0x74]
mov ebx, 7
mov ecx, dword [esp + 0x58]
sub eax, ecx
sub eax, 4
cdq
idiv ebx
mov eax, 0x92492493
sub ecx, edx
add ecx, 6
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea eax, [esp + 0x88]
push str._02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x2c
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa634
jmp 0x101a9d0e
cmp bl, 0x75
jne 0x101aa68f
mov eax, dword [esp + 0x60]
mov ecx, 7
add eax, 0xfffffffb
cdq
idiv ecx
lea eax, [esp + 0x70]
inc edx
push edx
push str._01d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa683
jmp 0x101a9d0e
cmp bl, 0x76
jne 0x101aa70c
cmp dword [esp + 0x34], 0
mov eax, dword [0x104fcd94]
mov edx, dword [esp + 0x30]
push dword [esp + 0x24]
lea eax, [eax + edx*4]
push eax
push ecx
lea eax, [esp + 0x7c]
jne 0x101aa6c4
cmp ecx, 0xa
jge 0x101aa6bd
push str.__01d__s__04d
jmp 0x101aa6d5
push str._02d__s__04d
jmp 0x101aa6d5
cmp ecx, 0xa
jge 0x101aa6d0
push str.__01d__s_____04d
jmp 0x101aa6d5
push str._02d__s_____04d
push eax
call fcn.1018fd80
add esp, 0x14
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa700
jmp 0x101a9d0e
cmp bl, 0x56
jne 0x101aa7bd
push dword [esp + 0xe4]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.101a9180
mov eax, dword [esp + 0x74]
mov ebx, 7
mov ecx, dword [esp + 0x58]
add esp, 0x14
sub eax, ecx
sub eax, 3
cdq
idiv ebx
mov eax, 0x92492493
sub ecx, edx
add ecx, 6
cmp edx, 3
jg 0x101aa76a
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
jmp 0x101aa777
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov ecx, 0x35
test eax, eax
cmove eax, ecx
push eax
lea eax, [esp + 0x74]
push str._02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa7b1
jmp 0x101a9d0e
cmp bl, 0x77
jne 0x101aa80c
mov eax, dword [esp + 0x60]
mov ecx, 7
add eax, 0xfffffffc
cdq
idiv ecx
lea eax, [esp + 0x70]
push edx
push str._01d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa800
jmp 0x101a9d0e
cmp bl, 0x57
jne 0x101aa89f
push dword [esp + 0xe4]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.101a9180
mov eax, dword [esp + 0x74]
mov ebx, 7
mov ecx, dword [esp + 0x58]
sub eax, ecx
sub eax, 3
cdq
idiv ebx
mov eax, 0x92492493
sub ecx, edx
add ecx, 6
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea eax, [esp + 0x88]
push str._02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x2c
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa893
jmp 0x101a9d0e
cmp bl, 0x78
jne 0x101aa91c
lea eax, [esp + 0x60]
push eax
call fcn.101a9160
mov edx, dword [esp + 0x34]
add esp, 4
cmp dword [esp + 0x34], 0
mov ecx, eax
mov eax, dword [0x104fcd94]
push dword [esp + 0x24]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
push edx
push eax
push ecx
lea eax, [esp + 0x80]
jne 0x101aa8e3
push str._s__s__02d___04d
jmp 0x101aa8e8
push str._s__s__02d____04d
push eax
call fcn.1018fd80
add esp, 0x18
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa910
jmp 0x101a9d0e
cmp bl, 0x58
jne 0x101aa96c
push dword [esp + 0x38]
lea eax, [esp + 0x74]
push dword [esp + 0x30]
push dword [esp + 0x30]
push str._02d:_02d:_02d
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x20
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa960
jmp 0x101a9d0e
cmp bl, 0x79
jne 0x101aa9d3
mov ecx, dword [esp + 0x24]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
cmp dword [esp + 0x34], 0
push ecx
mov ecx, str._02d
mov eax, str.__02d
cmove eax, ecx
push eax
lea eax, [esp + 0x78]
push eax
call fcn.1018fd80
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0x18
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aa9c7
jmp 0x101a9d0e
cmp bl, 0x59
jne 0x101aaa23
cmp dword [esp + 0x34], 0
lea eax, [esp + 0x70]
push dword [esp + 0x24]
jne 0x101aa9ee
push str._04d
jmp 0x101aa9f3
push str.__04d
push eax
call fcn.1018fd80
add esp, 0xc
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aaa17
jmp 0x101a9d0e
cmp bl, 0x5a
jne 0x101aaa60
mov eax, ebp
mov ecx, str.UTC_Julian
sub eax, esi
cmp dword [esp + 0xe4], 0
push eax
mov eax, str.UTC_Gregorian
cmovne eax, ecx
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aaa54
jmp 0x101a9d0e
cmp bl, 0x7a
jne 0x101aaa8c
mov eax, ebp
sub eax, esi
push eax
lea eax, [edi + esi]
push str.0000
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aaa80
jmp 0x101a9d0e
cmp bl, 0x2b
jne 0x101aab11
lea eax, [esp + 0x60]
push eax
call fcn.101a9160
mov edx, dword [esp + 0x34]
add esp, 4
cmp dword [esp + 0x34], 0
mov ecx, eax
mov eax, dword [0x104fcd94]
push dword [esp + 0x24]
push dword [esp + 0x3c]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
push dword [esp + 0x34]
push dword [esp + 0x34]
push edx
push eax
push ecx
lea eax, [esp + 0x8c]
jne 0x101aaadc
push str._s__s__02d__02d:_02d:_02d_UTC__04d
jmp 0x101aaae1
push str._s__s__02d__02d:_02d:_02d_UTC___04d
push eax
call fcn.1018fd80
add esp, 0x24
mov eax, ebp
sub eax, esi
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aab05
jmp 0x101a9d0e
cmp bl, 0x2e
je 0x101aab41
movsx eax, bl
push eax
call fcn.1013a3a0
add esp, 4
test eax, eax
je 0x101a9d14
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
push 0xa
push 0
push eax
call fcn.10140ae3
add esp, 0xc
jmp 0x101aab46
mov eax, 9
push eax
add eax, 2
push eax
lea eax, [esp + 0xc8]
push str.____d._df
push eax
call fcn.1018fd80
movsd xmm1, qword [esp + 0x2c]
add esp, 8
cvttsd2si eax, xmm1
movd xmm0, eax
lea eax, [esp + 0xc8]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [esp], xmm1
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.1018fd80
lea eax, [esp + 0x80]
push 0x20
push eax
call fcn.101225c0
add esp, 0x18
test eax, eax
je 0x101aabb9
mov byte [eax], 0
lea eax, [esp + 0x70]
push 0x20
push eax
call fcn.101225c0
add esp, 8
test eax, eax
jne 0x101aaba3
cmp bl, 0x2e
jne 0x101aabf5
lea ecx, [esp + 0x70]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101aabc5
sub ecx, edx
lea eax, [ecx - 1]
cmp byte [esp + eax + 0x70], 0x30
jne 0x101aabf5
cmp byte [esp + eax + 0x6f], 0x2e
je 0x101aabf5
cmp eax, 0x50
jae 0x101aac6d
mov byte [esp + eax + 0x70], 0
dec eax
cmp byte [esp + eax + 0x70], 0x30
je 0x101aabd8
lea eax, [esp + 0x70]
push 0x2e
push eax
call fcn.101aaff0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x101aac1c
mov eax, ebp
sub eax, esi
push eax
push ecx
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
add esp, 0xc
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aac21
jmp 0x101a9d0e
mov ecx, dword [esp + 0x30]
mov eax, ebp
sub eax, esi
push eax
mov eax, dword [0x104fcd94]
lea eax, [eax + ecx*4]
push eax
lea eax, [edi + esi]
push eax
call fcn.101ab8e0
mov esi, edi
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x101aac50
jmp 0x101a9d0e
mov byte [edi + esi], al
inc esi
cmp esi, ebp
jae 0x101a9cb4
jmp 0x101a9d26
call fcn.10120c4e
int3